参考书籍:《Android应用开发揭秘》第9章
Android特色开发之语音识别:
语音识别技术在手机上应用得相当广泛,我们日常最频繁的沟通方式是语音,在手机应用中,大部分是通过硬件手动输入,目前这依然是主要与手机互动的方式。
Android语音识别按钮
Android中主要通过RecognizerIntent来实现语音识别,它主要包括一些常量来表示语音的模式等,如表所示。
RecognizerIntent包括的常量
这里我们只需要通过Intent来传递一个动作以及一些属性,然后通过startActivityForResult来开始语音,代码如下:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_
MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"开始语音");
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
当然,如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。当然,另外需要实现onActivityResult方法,当语音结束时,会触发来获得语音的字符序列。
下面通过一个例子来学习语音识别,当我们点击“开始使用语音识别”按钮时,开始语音,然后在onActivityResult方法中取得结果并显示出来,运行效果如图9-2所示。由于在模拟器上没有设备,所以显示了ActivityNotFoundException异常,当我们在真机上测试、开始语音时,如图9-3所示,语音结束后取出的字符序列如图9-4所示。
图9-2ActivityNotFoundException异常 图9-3 开始语音 图9-4 获取的字符序列
具体代码下载链接:http://www.apkbus.com/android-117062-1-1.html
喜欢开源,乐意分享的大神们,欢迎加入QQ群:176507146,你值得拥有哦!