Android:使用Speech To Text API进行语音到文本转换(2)

Android Speech to text Android API的核心是包 android.speech和类 android.speech.RecognizerIntent。我们触发一个意图(android.speech.RecognizerIntent)显示对话框来识别语音输入,这个Activity转换语音为文本并把结果传回我们正在调用的Activity。当我们调用android.speech.RecognizerIntent意图时,必须使用 startActivityForResult()来接听文本结果。

 

注意在上面的代码中我们是怎样创建并触发意图intent android.speech.RecognizerIntent的,同时使用.putExtra()方法添加了一个参数。调用RecognizerIntent时,必须提供 RecognizerIntent.EXTRA_LANGUAGE_MODE,在这里我们设置为 en-US


由于我们的RecognizerIntent通过startActivityForResult()触发,我们重写了 onActivityResult(int requestCode, int resultCode, Intent data)方法来处理结果数据。RecognizerIntent会把语音转换为文本并把结果通过键RecognizerIntent.EXTRA_RESULTS作为ArrayList传回来。只有RESULT_OK返回时才会出现。我们只需要使用 txtText.setText()把从结果中拿到的文本设置到text view texText中。


在这里值得注意的一件事是在不支持speech to text API的设备/Android版本中应该怎样处理。在这种情况下,当我们视图启动Activity时ActivityNotFoundException异常会被抛出。在上面的例子中,我们捕获了这个异常并使用Toast显示了一个提示信息“Opps! Your device doesn’t support Speech to Text”。


Android应用程序的屏幕截图

到这里就结束了! 在Android模拟器或真实设备上执行应用程序,将会看到下面的输出。

Android:使用Speech To Text API进行语音到文本转换


Android:使用Speech To Text API进行语音到文本转换


Android:使用Speech To Text API进行语音到文本转换


Android:使用Speech To Text API进行语音到文本转换



下载源码 Android_SpeechToTextDemo.zip (350 KB)

免费下载地址在

用户名与密码都是

具体下载目录在 /2012年资料/8月/13日/Android:使用Speech To Text API进行语音到文本转换

参考:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ed5ae922ba5817691391913b96924c8e.html