`
maatlawson
  • 浏览: 2259 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Android语音

阅读更多

在ACTION_RECOGNIZE_SPEECH状态,可以取得被识别的语音的文字串。
在ACTION_WEB_SEARCH模式下,通过网络检索被识别的语音,并表示结果到画面上。

运行结果
运行后,按下按钮,语音识别画面启动,面向麦克风讲几句话,
被识别出来后,结果会表示出来。
但是,能够响应这个Intent的Activity没有被安装的时候,例如模拟器状态下,
会发生ActivityNotFoundException例外,应该用try-catch来捕捉。
※开发用手机ADP1上可以动作。


 
import java.util.ArrayList;
 
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
 
import com.adakoda.voicerecognitiontest.R.id;
 
public class VoiceRecognitionTestActivity extends Activity {
    // = 0的部分,请用适当的值替换
    private static final int REQUEST_CODE = 0;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        Button button = (Button) findViewById(id.button);
        
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    // Intent作成
                    Intent intent = new Intent(
                            RecognizerIntent.ACTION_RECOGNIZE_SPEECH); // ACTION_WEB_SEARCH
                    intent.putExtra(
                            RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
                    intent.putExtra(
                            RecognizerIntent.EXTRA_PROMPT,
                            "VoiceRecognitionTest"); // 可以替换成您喜欢的文字
                    
                    // Intent发行
                    startActivityForResult(intent, REQUEST_CODE);
                } catch (ActivityNotFoundException e) {
                    // 如果没有安装可以应答这个Intent的Activity的时候,显示一条消息
                    Toast.makeText(VoiceRecognitionTestActivity.this,
                        "ActivityNotFoundException", Toast.LENGTH_LONG).show();
                }
            }
        });
    }
    
    // Activity终了的时候,会调用onActivityResult
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // 应答自己抛出的intent,
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
            String resultsString = "";
            
            // 结果文字列数组
            ArrayList<String> results = data.getStringArrayListExtra(
                    RecognizerIntent.EXTRA_RESULTS);
            
            for (int i = 0; i< results.size(); i++) {
                // 结合复数个文字列
                resultsString += results.get(i);
            }
            
            // 表示结果
            Toast.makeText(this, resultsString, Toast.LENGTH_LONG).show();
        }
        
        super.onActivityResult(requestCode, resultCode, data);
    }
}


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    
<Button
    android:id="@+id/button"
    android:text="Click to start"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>
    
</LinearLayout>
分享到:
评论

相关推荐

    android 语音识别转文字.zip

    总的来说,这个"android 语音识别转文字.zip"压缩包是一个集成了多种语音处理功能的DEMO,包括语音识别、文字转语音、录音、播放和文件管理等,对于学习和开发Android语音应用的开发者来说,是一个非常有价值的参考...

    Android语音识别软件代码

    本篇将深入探讨如何在Android中实现语音识别,并基于提供的"Android语音识别软件代码"进行详细解析。 首先,我们要了解Android系统内置的`SpeechRecognizer`类,它是Android SDK中的核心组件,用于实现语音识别功能...

    android 语音识别demo

    本示例项目“android语音识别demo”采用的是科大讯飞(IFlytek)的API,这是一个在中国广泛使用的语音识别服务提供商。下面将详细介绍这个demo的实现原理和关键知识点。 1. **科大讯飞API**:科大讯飞提供了多种...

    Android语音识别源码

    本资源“Android语音识别源码”提供了一个深入理解并实现这一功能的绝佳机会。接下来,我们将详细探讨Android语音识别的核心概念、工作流程以及源码解析。 一、Android语音识别基础 1. **API介绍**:Android系统...

    Android语音实时传输

    在Android平台上实现语音实时传输,通常涉及到网络编程、音频处理以及用户...以上所述是Android语音实时传输应用的关键技术点,开发过程中需要综合运用这些知识,确保语音数据的准确、高效传输,并提供良好的用户体验。

    Android 语音输入小例子

    这个“Android语音输入小例子”很可能是演示如何在应用中集成和使用这一功能的一个示例项目。让我们深入了解一下Android系统中的语音输入功能及其实现。 1. **Android SDK中的语音识别服务** Android系统从1.6版本...

    android 语音输入波动Demo

    总结来说,"android语音输入波动Demo"是一个教学实例,它涵盖了Android语音识别、音频数据处理、自定义视图绘制以及权限管理等多个技术点,对于学习和实践Android语音交互功能非常有帮助。通过深入理解并实践这个...

    android语音识别demo

    本示例“android语音识别demo”是基于百度语音识别SDK开发的,旨在帮助开发者快速理解和集成这一功能。 首先,我们要理解的是百度语音识别SDK。这是一个由百度提供的服务,它提供了丰富的语音识别能力,包括离线...

    Android语音助手DEMO

    综上所述,创建一个Android语音助手DEMO需要结合Android SDK中的语音服务API,配合第三方库和自定义的对话逻辑,以实现一个完整的交互体验。对于初学者来说,这个DEMO是一个很好的起点,可以帮助他们了解并掌握语音...

    android语音识别+语音搜索源码

    本文将深入探讨如何利用Android API实现这一功能,并基于提供的"android语音识别+语音搜索源码"进行分析。 首先,Android系统提供了`SpeechRecognizer`类,它是进行语音识别的核心组件。我们可以通过创建`...

    Android 语音转换成文字

    二、Android语音识别的实现方法 1. 使用系统内置服务:Android提供了SpeechRecognizer类,它是一个接口,用于与系统级的语音识别服务交互。开发者可以通过创建SpeechRecognizer对象,设置识别监听器,然后调用start...

    android语音识别技术文档

    Android语音识别技术主要涉及两个核心部分:使用科大讯飞(IFlytek)SDK和Google的语音识别服务。以下是这两个部分的详细说明。 1. **科大讯飞语音识别** 科大讯飞是中国领先的语音识别技术提供商,其SDK(Msc....

    android语音合成介绍

    ### Android语音合成技术详解 #### 一、引言 随着移动设备功能的不断增强与多样化,Android平台上的语音合成(Text-to-Speech, TTS)技术变得越来越重要。语音合成引擎不仅能够帮助视障用户更好地使用手机,还能应用...

    android语音源代码

    "android语音源代码"这个主题,结合描述中的信息,显然关注的是Android设备上的录音功能实现。下面将详细介绍Android录音功能的实现及其核心知识点。 首先,Android提供了一个名为`MediaRecorder`的类,它是实现...

    Android语音转化为文字

    本项目是基于科大讯飞的资源库实现的Android语音转文字功能。首先,我们需要在科大讯飞的开发者平台上注册账号,申请相应的AppID和密钥,这些是调用语音识别API的必要凭证。在注册并获取到这些信息后,我们可以将...

    android语音合成demo,非常强大

    这个“android语音合成demo”是一个展示如何在Android应用中实现这一功能的示例项目。下面我们将深入探讨这个话题,包括其核心组件、工作原理、使用步骤以及涉及的相关文件。 1. **核心组件**: - **TextToSpeech*...

    Android语音播报、后台播报、语音识别

    在Android平台上,开发语音相关的功能是一项常见的任务,其中包括语音播报、后台播报以及语音识别。本文将详细介绍如何使用讯飞语音SDK来实现这些功能,并提供必要的技术细节和实践步骤。 一、语音播报 讯飞语音SDK...

    安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar

    在这个名为“安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar”的压缩包中,包含了一些用于理解和实践这两种技术的源代码示例。虽然无法一一验证每个示例的可用性,但它们可以作为开发者学习和参考的...

Global site tag (gtag.js) - Google Analytics