Android特色开发(2):语音识别

参考书籍:《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,你值得拥有哦!

作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处 http://klcf0220.cnblogs.com/ !!!
原文地址:https://www.cnblogs.com/klcf0220/p/3088798.html