HTML5 Web 语音 API 在本地不起作用

HTML5 Web Speech API not working locally

本文关键字:不起作用 API Web 语音 HTML5      更新时间:2023-09-26

我正在尝试使这段代码正常工作,但不知道为什么它在本地不起作用。我在 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 或节点))下提供页面?

详细讨论为什么摄像头(和麦克风在这里无法在本地主机上工作):

如何允许 Chrome 在本地主机上访问我的相机?

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