HTML5 Web Speech API无法在本地运行

时间:2014-12-15 09:41:59

标签: javascript html5 speech-recognition speech-synthesis

我正在努力使这段代码工作,并且不知道为什么它不在本地工作。我在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>

有什么建议吗?

2 个答案:

答案 0 :(得分:7)

您可以尝试添加以下代码段,以查看正在生成的错误。

recognition.onerror = function(event) {
    console.log(event.error);
};

有可能随便吐出一个不允许的&#39;这通常意味着用户代理不允许出于安全性,隐私或用户偏好而发生任何语音输入(因为您通过文件在本地运行它://)

您是否尝试在本地Web服务器(如IIS或节点)下提供页面?

答案 1 :(得分:0)

详细讨论为什么相机(和麦克风不在这里使用localhost):

How to allow Chrome to access my camera on localhost?

简而言之,它被明确阻止。