Chrome WebSpeech API 返回不允许的错误?
Chrome WebSpeech API returning not-allowed error?
我使用网络语音 API 进行语音转文本。但是当调用 recognition.start() 它向我展示 SpeechRecognitionErrorEvent
recognition = new webkitSpeechRecognition()
recognition.continuous = false
recognition.interimResults = false
recognition.onend = () => console.log("ended")
recognition.onerror = () => console.log("errored")
recognition.start()
正在记录,
errored
ended
SpeechRecognitionErrorEvent {isTrusted: true, error: "not-allowed", message: "", type: "error", target: SpeechRecognition, …}
我在我的 React 项目中尝试过。尝试从 chrome 控制台触发识别器也会导致相同的错误。
其他人,因为我是第一次使用它,所以我不太明白这个错误的原因。在我无法得到明确答案的 Whosebug 中提出了具有相同问题的另一个问题。是不是我必须用ssl证书请求语音api启动方法。否则我无法使用该功能。
更新:
我必须在浏览器中手动启用麦克风权限才能消除此错误。
试试这个:
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.start()
郑重声明,如果您在 HTTP 响应中发送 Permissions-Policy
header (W3C Working Draft) 并包含字符串 microphone=()
禁用对麦克风的访问。此 header 通常用于防止恶意 third-party 脚本请求麦克风。
我使用网络语音 API 进行语音转文本。但是当调用 recognition.start() 它向我展示 SpeechRecognitionErrorEvent
recognition = new webkitSpeechRecognition()
recognition.continuous = false
recognition.interimResults = false
recognition.onend = () => console.log("ended")
recognition.onerror = () => console.log("errored")
recognition.start()
正在记录,
errored
ended
SpeechRecognitionErrorEvent {isTrusted: true, error: "not-allowed", message: "", type: "error", target: SpeechRecognition, …}
我在我的 React 项目中尝试过。尝试从 chrome 控制台触发识别器也会导致相同的错误。 其他人,因为我是第一次使用它,所以我不太明白这个错误的原因。在我无法得到明确答案的 Whosebug 中提出了具有相同问题的另一个问题。是不是我必须用ssl证书请求语音api启动方法。否则我无法使用该功能。
更新:
我必须在浏览器中手动启用麦克风权限才能消除此错误。
试试这个:
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.start()
郑重声明,如果您在 HTTP 响应中发送 Permissions-Policy
header (W3C Working Draft) 并包含字符串 microphone=()
禁用对麦克风的访问。此 header 通常用于防止恶意 third-party 脚本请求麦克风。