android - 识别监听器 : OnPartialResults vs OnResults

标签 android google-text-to-speech

就性能和可用性而言,最佳方法是什么?这两种方法之间的主要区别是什么?

我目前有一个关于“OnResults”的实现,它不断地监听并与几个字符串进行比较,对检测到的每个单词采取不同的操作。然而,它有时无法识别单词,有时甚至什么都不听。如果我将逻辑移动到“OnPartialResults”会提高可用性吗?

最佳答案

onResults 在 SpeechRecognizer 完成监听时调用。 onPartialResults 在 SpeechRecognizer 检测到您所说的新词时调用,甚至在收听结束之前。

对于单个口头单词,它们都应该得到相同的结果,但如果您的语音较长,onResults 可以修改您的输出,使其在语法上更正确(但只是一点点)。

它们的使用取决于您的目的。但是使用 onResults 会给出更准确的结果。

如果您想将口语与 Action 相匹配,请创建自己的匹配器,它会选择最佳匹配(但并不总是相等,因为它并不总是有效)。

更多关于 onResultsonPartialResults在 developer.android.com

重要:要获得部分结果,您必须向识别器 Intent 添加额外的内容:

intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);

关于android - 识别监听器 : OnPartialResults vs OnResults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47161433/

相关文章:

java - 使用连接到 usb 的设备运行 android

android - 如何使用每个工作日运行的警报管理器设置警报

android - 在 Android 中——我们如何获取 Text to Speech 中正在说话的单词?

android - 使用蓝牙连接的连续 Android 语音识别

android - 如何在 iOS 和 Android 的 textToSpeech 中使用 ssml 标签?

java - 在 Java/Android 中高效地过滤 ArrayList

android - 如何在 ARCore Android 中禁用表面检测

android - 未为 VectorDrawable 生成 PNG

java - 安卓语音合成 : Speaking Long text

python-3.x - pyttsx 和 gTTS 模块错误