Web 语音 API 用于在 Android chrome 浏览器上语音到文本

Web speech API for speech to text on Android chrome browser

我正在尝试使用 Web speech API 在 reactjs 网络应用程序中将语音转换为文本。 当我在 Windows 桌面上打开应用程序时,网络语音 API 没有任何问题。 但是当我在 Android chrome 浏览器上打开相同的应用程序时,它会多次识别相同的语音。我认为在 android chrome 浏览器上,网络语音 API 的中间结果被视为最终结果。

这是来自 https://www.npmjs.com/package/react-speech-recognition.

成绩单中有重复的单词! Android Chrome 中存在一个错误,导致 Web Speech API 在语音识别结果中生成重复的单词。可能的解决方法:

将连续选项设置为 false(这对我有效) 检测 Android Chrome 并在该浏览器上呈现回退内容

我遇到了同样的问题。我加载我的应用程序时,我会检查以确定该应用程序是否已加载到移动设备上,并在 html 文件中设置一个不可显示(您的选项)复选框,如下所示:

x_mobileFlg = window.navigator.userAgentData.mobile
gObj_deviceFlgs.mobileDevice = x_mobileFlg
if (x_mobileFlg) {
    document.getElementById("chkbox-mobile-device").checked = true
}
else {
    document.getElementById("chkbox-mobile-device").checked = false
}

然后,当我启动语音识别 api 呼叫时,如果设备是移动的,我会更改连续标志。

objVoiceRecognitionInput.continuous = true
if (document.getElementById("chkbox-mobile-device").checked) {
    objVoiceRecognitionInput.continuous = false;
}

效果很好,我可以在任一设备上用语音输入我想要的文本。