Edge 声称支持 webkitSpeechRecognition,但它不起作用(讨论 here,在用于测试的网站上不起作用,例如 mozilla one,出现错误“识别时发生错误:语言不正确” -supported”,尽管我的用户界面是美式英语。
我如何检测是否真的支持 webkitSpeechRecognition?我试图通过查看用户代理来过滤掉 Edge,但它显示为 Chrome,而且我更愿意只使用功能检测而不是查看用户代理。我想在不请求麦克风许可的情况下检查这个(如果我确实请求了麦克风许可,我必须等待他们接受,然后看到语言不支持的错误)。有没有一种简单的方法来检查这一点,类似于仅检查 window["webkitSpeechRecognition"]
的值(在 Edge 中定义,尽管它不起作用)?
最佳答案
如果你想检查对webkitSpeechRecognition的支持,那么你可以引用下面的JS代码示例。
if ('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)
{
console.log("speech recognition API supported");
}
else
{
console.log("speech recognition API not supported")
}
MS Edge 88.0.705.56 中的输出:
但是,如果您直接尝试使用 webkitSpeechRecognition 进行测试,那么它将不起作用。
看起来这个功能目前正在开发中,要使用它,我们需要通过传递命令行参数来启用它。
我建议您引用以下步骤。
- 创建 Edge chromium 浏览器的快捷方式。
- 右键单击快捷方式文件并转到属性。
- 在Shortcut标签下,在Target文本框中,在
msedge.exe<之后添加
路径。确保在路径和命令行参数之间添加 1 个空格。--enable-features=msSpeechRecognition
/
它应该如下所示。
- 单击确定按钮关闭属性窗口。
- 通过快捷方式启动 Edge 浏览器并访问 SpeechRecognition 的任何示例代码示例。在这里,我正在使用 this example 进行测试.
MS Edge 88.0.705.56 中的输出:
关于javascript - 如何检测 webkitSpeechRecognition 是否真的在浏览器中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66000711/