0

我先在一个空白文件中测试了安阳。这工作得很好,但是当我将相同的代码连接到另一个文件中的函数时,它似乎没有工作。看来,annyang已经没有联系了。浏览器没有请求使用麦克风的权限,红色圆圈也没有可见。但是,我以与测试时相同的方式连接它。

功能:播放器旋转(1);我想在用户说:转身时开始。

您可以在下面找到我的代码:

javascript`

$( document ).ready( doStuff );

function doStuff()
{

if (annyang) {

  var commands = {
    'turn': function() {
        playerRotate(1);
        console.log("You said turn");
    }
  };

  annyang.addCommands(commands);
 annyang.debug(true);

annyang.start({ continuous: false });
}


annyang.setLanguage('en-GB');

这是我放在 hmtl 头部的脚本标签:<script src="https://cdnjs.cloudflare.com/ajax/libs/annyang/1.1.0/annyang.min.js"></script>

我已经将主 javascript 文件的脚本标记放在了 html 正文的底部。

谁能帮忙找出我做错了什么?

提前非常感谢!

4

1 回答 1

0

我下载了你的源代码,它运行顺利(见下图)。

您在测试中运行 annyang 时的运行方式与之后的运行方式之间是否还有其他不同之处?

我的猜测是改变的是你在本地运行它的方式。也许有一次你打开它file://,另一个打开它,http://localhost甚至http://my-local-environment或类似的东西。语音识别需要 HTTPS(或者在某些版本上,如果您的主机名是 localhost,它可以通过 HTTP 运行)。您最安全的选择是尝试通过 SSL 运行它(即使在本地,没有有效证书)。

另一种选择是您可能已经阻止了一次语音识别并且浏览器会记住该选择(您的里程可能会因浏览器和版本而异)。

至于代码本身,它工作得很好:

带有语音识别功能的俄罗斯方块

于 2020-04-08T20:20:48.527 回答