我已经学习了Android ApiDemos的示例代码,以下代码可以在我使用麦克风时使用Google语音搜索识别语音。
但是谷歌语音搜索存在一些问题,谷歌语音搜索必须在线才能工作。我已将语音保存到文件中,如何进行Google语音搜索以识别语音文件并返回结果?
private void startVoiceRecognitionActivity() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
// Fill the list view with the strings the recognizer thought it could have heard
ArrayList<String> matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
mList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
matches));
}
super.onActivityResult(requestCode, resultCode, data);
}
答案 0 :(得分:1)
没有办法让Google语音识别器使用提供的API操作麦克风以外的任何其他内容。同样,也没有正式的方法来使用底层的Web服务,尽管有一种基于chrome源代码的非官方方式。
如果您想离线进行语音识别,可以在设备上运行PocketSphinx。或者,您可以尝试查找可用于语音识别的在线API,但大多数主要API无法获得许可或非常昂贵。