4

我是 Web 开发的新手,我正在尝试使用 Web Speech API 开发一个简单的语音驱动的 Web 应用程序。我使用这个简单的教程来学习语音驱动应用程序的基础知识。

这是我编写的代码作为一个简单的开始。

<!DOCTYPE html>
<html>
  <head>    
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
    </script>
    <script>        
       var recognition = new webkitSpeechRecognition();
       recognition.continuous = true;
       recognition.onresult = function(event) {
           alert("onresult even handler");
       }
       function startButton(event) {
          recognition.start();
       }
    </script>
  </head>
  <body>
    <div id = "text">
      <button id="start_button" onclick="startButton(event)">
        start
      </button>
    </div>
  </body>
</html> 

但是当我在 google chrome 浏览器中打开我的 html 页面并单击开始时,我看到的是:

在此处输入图像描述

当我点击交叉的相机图标时,我会看到以下下拉菜单:

在此处输入图像描述

即使当我选择“询问文件 - 是否想要访问您的相机和麦克风”选项并重新加载页面时,同样的事情也会重复。

当我对此进行更多研究时,我知道谷歌浏览器只允许安全站点(即 https://)访问您的相机和麦克风。如果它不是 https,那么 chrome 会在不询问用户的情况下阻止它。但我无法理解为什么我的本地文件被阻止使用麦克风。谁能帮我解决这个问题。提前致谢。

4

3 回答 3

1

您需要在服务器上部署 HTML 项目。您可以通过在任何 localhost 服务器上部署它来做到这一点。

除非部署在服务器上,否则媒体相关的 HTML 文件无法正常工作。

于 2013-10-26T10:56:11.923 回答
1

WebSpeechAPI 仅适用于通过 https:// 或 http:// NOT file:/// 处理的文件

您需要一个可以访问/存储文件的网络服务器。

当您没有可用的网络服务器时,您可以使用 google sky 作为网络服务器/托管您的 index.html(名称必须是 index.html)以及所有 javascript 和 css 内容: https ://googledrive.com/host/0B716ywBKT84AMXBENXlnYmJISlE/GoogleDriveHosting.html

于 2013-12-07T10:45:10.673 回答
-1

我可能有一个解决方案给你:

1.进入谷歌浏览器设置
2.点击高级设置
3.点击显示高级设置。
4.在“隐私”下单击内容设置
5.转到媒体部分(靠近底部)并单击“允许所有站点在我的计算机上使用插件”

真的希望这会有所帮助!

如果您需要额外帮助,请查看此链接以获取更多信息。

于 2013-07-14T01:17:46.243 回答