我正在尝试使此代码有效,但不知道为什么它在本地不起作用。我在CodePen.io上尝试了同样的方法,并且可以正常工作。
<html>
<head>
<title>Voice API</title>
</head>
<body>
<button onClick="func()">Click Me</button>
<script>
function func()
{
alert('Hello');
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.onresult = function(event)
{
alert(event.results[0][0].transcript);
}
recognition.start();
}
</script>
</body>
有什么建议么?
最佳答案
您可以尝试添加以下代码段,以查看正在生成什么错误。
recognition.onerror = function(event) {
console.log(event.error);
};
机会是它会吐出“不允许”的字样,这通常意味着用户代理出于安全性,隐私权或用户偏好的原因而不允许进行任何语音输入(因为您是通过file://在本地运行的)
您是否尝试过在本地Web服务器(如IIS或Node)下提供页面?