RecognizerIntent.ACTION_RECOGNIZE_SPEECH无法在新的Android设备中使用

时间:2014-01-14 10:23:04

标签: voice-recognition

以下是我的语音识别代码,其中说“最新设备和平板电脑的识别器不存在”。请帮我解决问题。

public void startMyVoice()
{   
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);   
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, sayClose);   
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");

try 
{
    startActivityForResult(intent, RESULT_SPEECH);      
} 
catch (ActivityNotFoundException a) 
{                   
    Toast.makeText(getApplicationContext(), "Recogniser not present", Toast.LENGTH_SHORT).show();      
}

}

2 个答案:

答案 0 :(得分:1)

来自:Speech To Text Recognizer not found

我不确定为什么识别器功能在所有设备上都不可用。确保安装并更新最新的Android版Google语音搜索。我相信它会安装最新的识别器。请参阅http://www.google.com/mobile/voice-actions/,这可能会有帮助。

正如Dante Jiang在将语音转换为文本时所说,根据这篇文章,谷歌语音搜索是你真正需要的。

  

Android SDK可以轻松将语音输入直接集成到   您自己的应用程序 - 只需从此示例应用程序中复制和粘贴   开始。 Android是一个开放平台,因此您的应用程序可以   可能会在设备上使用任何语音识别服务   已注册接收RecognizerIntent。谷歌的语音搜索   应用程序,预先安装在许多Android设备上,响应   通过显示“立即说话”对话框和识别器内容   将音频流式传输到Google的服务器 - 用户使用的相同服务器   点击搜索小部件上的麦克风按钮或启用语音   键盘。 (您可以检查“设置”中是否安装了“语音搜索”   应用程序➝管理应用程序。)

答案 1 :(得分:0)

在您的 AndroidManifest.xml 文件中添加以下代码,它将起作用。

<queries>
   <intent>
     <action
        android:name="android.speech.RecognitionService" />
   </intent>
 </queries>