语音识别 Safari
Speech Recognition Safari
我在 API: https://wicg.github.io/speech-api/ 之后创建了一个语音识别网站。该站点在 Chrome 中有效,但在 Safari 中无效。
这是有道理的:基于浏览器支持的详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API#browser_support,(语音转文本目前仅限于桌面版 Chrome 和 Android。)
但没有意义基于:https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#browser_compatibility 最后一个 link,声称有支持。
我很困惑,Safari 是否提供支持?
我从 Safari 收到的错误是:检测到语音识别错误:不允许服务
这个错误是什么意思?
不允许服务
用户代理不允许请求的语音识别服务,因为用户代理不支持它或者出于安全、隐私或用户偏好的原因。在这种情况下,它将允许使用另一个更合适的语音识别服务。
https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionErrorEvent/error
我尝试在 Safari 设置和我的计算机设置中为麦克风授予明确权限。没用。我不知道如何明确允许 safari 进行语音识别。它应该请求许可,但它没有。
有人对如何在 Safari 上进行语音识别有任何建议吗?
这是代码:
var recognition = new speechRecognition()
var textBox = $("#textbox")
var instructions = $("#instructions")
var cont = ''
recognition.continuous = true
// Recognition started
recognition.onstart = function () {
instructions.text("Voice recognition is on")
}
recognition.onspeechend = function () {
instructions.text("No speech detected")
}
recognition.onerror = function (event) {
instructions.text('Speech recognition error detected: ' + event.error)
}
recognition.onresult = function (event) {
var current = event.resultIndex;
var transcript = event.results[current][0].transcript;
cont += transcript
textBox.val(cont)
}
$("#start-btn").click(function (event) {
if(cont.length){
cont += ''
}
recognition.start()
})```
I created this based on this tutorial: https://www.youtube.com/watch?v=rwB6RqqCmXc
您确定您在网站上设置了 SSL 证书吗?有时,如果麦克风未处于安全连接上,浏览器可能会阻止对麦克风的访问。
现在,如果这是一个本地站点,如果未发布,您可以使用自签名 SSL 证书作为解决方法。
我想通了。对于 Safari,用户需要启用语音转文本的听写功能。
可以在这里找到详细信息:https://bugs.webkit.org/show_bug.cgi?id=225298
我在 API: https://wicg.github.io/speech-api/ 之后创建了一个语音识别网站。该站点在 Chrome 中有效,但在 Safari 中无效。
这是有道理的:基于浏览器支持的详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API#browser_support,(语音转文本目前仅限于桌面版 Chrome 和 Android。)
但没有意义基于:https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#browser_compatibility 最后一个 link,声称有支持。
我很困惑,Safari 是否提供支持?
我从 Safari 收到的错误是:检测到语音识别错误:不允许服务
这个错误是什么意思?
不允许服务
用户代理不允许请求的语音识别服务,因为用户代理不支持它或者出于安全、隐私或用户偏好的原因。在这种情况下,它将允许使用另一个更合适的语音识别服务。
https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionErrorEvent/error
我尝试在 Safari 设置和我的计算机设置中为麦克风授予明确权限。没用。我不知道如何明确允许 safari 进行语音识别。它应该请求许可,但它没有。
有人对如何在 Safari 上进行语音识别有任何建议吗?
这是代码:
var recognition = new speechRecognition()
var textBox = $("#textbox")
var instructions = $("#instructions")
var cont = ''
recognition.continuous = true
// Recognition started
recognition.onstart = function () {
instructions.text("Voice recognition is on")
}
recognition.onspeechend = function () {
instructions.text("No speech detected")
}
recognition.onerror = function (event) {
instructions.text('Speech recognition error detected: ' + event.error)
}
recognition.onresult = function (event) {
var current = event.resultIndex;
var transcript = event.results[current][0].transcript;
cont += transcript
textBox.val(cont)
}
$("#start-btn").click(function (event) {
if(cont.length){
cont += ''
}
recognition.start()
})```
I created this based on this tutorial: https://www.youtube.com/watch?v=rwB6RqqCmXc
您确定您在网站上设置了 SSL 证书吗?有时,如果麦克风未处于安全连接上,浏览器可能会阻止对麦克风的访问。
现在,如果这是一个本地站点,如果未发布,您可以使用自签名 SSL 证书作为解决方法。
我想通了。对于 Safari,用户需要启用语音转文本的听写功能。 可以在这里找到详细信息:https://bugs.webkit.org/show_bug.cgi?id=225298