首页 > 解决方案 > SpeechRecognizer 的 OnResult() 方法中的 get(0) 有什么用?

问题描述

我正在研究语音到文本的识别。在OnResults()SpeechRecognizer 的方法中,result.get(0)下面的代码片段中指定的用途是什么。我发现它用于获得第一个结果,但这实际上是什么意思?

@Override
public void onResults(Bundle results)  {
    ArrayList<String> result = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
    if(result != null){
        edittext.setText(result.get(0));
    }
}

标签: javaandroid

解决方案


“Bundle [...] 中的 ArrayList 是可能的识别结果,其中第一个元素是最有可能的候选者。” [ https://developer.android.com/reference/android/speech/SpeechRecognizer#RESULTS_RECOGNITION]

您还可以查看结果并通过您自己的启发式方法确定最有可能的候选者,但 index:0 是识别器认为最有可能的。


推荐阅读