我可以使用Google语音搜索识别后台语音吗?

时间:2013-08-09 08:53:31

标签: android google-app-engine

我已经学习了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);
}

1 个答案:

答案 0 :(得分:1)

没有办法让Google语音识别器使用提供的API操作麦克风以外的任何其他内容。同样,也没有正式的方法来使用底层的Web服务,尽管有一种基于chrome源代码的非官方方式。

如果您想离线进行语音识别,可以在设备上运行PocketSphinx。或者,您可以尝试查找可用于语音识别的在线API,但大多数主要API无法获得许可或非常昂贵。