我目前正在处理的应用程序需要对单个单词进行简单的语音识别。但是,我不想使用:
startActivityForResult()使用ACTION_RECOGNIZE_SPEECH
因为我需要在用户说话时显示其他内容。 所以我尝试了这个:
speechRecognizer = SpeechRecognizer.createSpeechRecognizer(context);
speechRecognizer.setRecognitionListener(this);
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE,"en");
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
speechRecognizer.startListening(intent);
这也应该让我得到结果,但我总是得到:
没有选定的语音识别服务
此代码也返回false:
boolean speechEnabled = SpeechRecognizer.isRecognitionAvailable(getApplicationContext());
所以我认为仅使用SpeechRecognizer
和startListening
只是在Android Wear上无法使用...有关如何在不显示任何特定用户界面的情况下实现语音识别的任何建议吗?< / p>
编辑: 我想这与谷歌语音搜索没有安装在设备上有关,但手动安装它并不是真正的选择。