Annyang.js 在测试中有效,但之后似乎无法连接
Annyang.js works in test but after that it doesn't seem to connect
我先在一个空白文件中测试了 Annyang。这工作正常,但是当我将相同的代码连接到另一个文件中的函数时,它似乎没有工作。安阳似乎已经没有联系了。浏览器没有请求使用麦克风的权限,红色圆圈也不可见。但是,我已经按照测试时的方式连接了它。
函数:播放器旋转(1);我想在用户说:turn.
时开始
下面你可以找到我的代码:
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 正文的底部。
任何人都可以帮助找出我做错了什么吗?
非常感谢!
我下载了您的源代码并且 运行 没有任何障碍(见下图)。
你在测试中 运行 annyang 工作时的方式与后来 运行 的方式有什么不同吗?
我的猜测是,改变的是您在本地 运行 的方式。也许有一次您将它打开为 file://
,而另一次您将其打开为 http://localhost
甚至 http://my-local-environment
或类似的东西。语音识别需要 HTTPS(或者在某些版本上,如果您的主机名是 localhost,它可以通过 HTTP 运行)。最安全的选择是尝试 运行 通过 SSL 连接它(甚至在本地,没有有效证书)。
另一种选择是您可能已经阻止了一次语音识别,并且浏览器会记住该选择(您的里程可能因浏览器和版本而异)。
至于代码本身,效果很好:
我先在一个空白文件中测试了 Annyang。这工作正常,但是当我将相同的代码连接到另一个文件中的函数时,它似乎没有工作。安阳似乎已经没有联系了。浏览器没有请求使用麦克风的权限,红色圆圈也不可见。但是,我已经按照测试时的方式连接了它。
函数:播放器旋转(1);我想在用户说:turn.
时开始下面你可以找到我的代码:
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 正文的底部。
任何人都可以帮助找出我做错了什么吗?
非常感谢!
我下载了您的源代码并且 运行 没有任何障碍(见下图)。
你在测试中 运行 annyang 工作时的方式与后来 运行 的方式有什么不同吗?
我的猜测是,改变的是您在本地 运行 的方式。也许有一次您将它打开为 file://
,而另一次您将其打开为 http://localhost
甚至 http://my-local-environment
或类似的东西。语音识别需要 HTTPS(或者在某些版本上,如果您的主机名是 localhost,它可以通过 HTTP 运行)。最安全的选择是尝试 运行 通过 SSL 连接它(甚至在本地,没有有效证书)。
另一种选择是您可能已经阻止了一次语音识别,并且浏览器会记住该选择(您的里程可能因浏览器和版本而异)。
至于代码本身,效果很好: