annyang的多个问题

时间:2015-05-13 13:56:26

标签: speech-recognition

对于我的学校,我们被赋予了创建决策室的任务,就像SMU图书馆中乔治W.布什决策室的决策室一样。对于我一直在创作的决策室,我选择使用annyang进行语音激活(这种欺骗代码非常简单)。

BUT!我一直有问题让它分别理解两个不同的单词。当我说' 2'时,它会将我重定向到下一个决定,但是1将无效。

另外,在重定向之前,我试着在注册你的演讲之后播放一些小调。

这是我的代码:

<script>
window.onload = function(){
if (annyang) {
    var commands = {
        '1': function() {document.getElementById('Turn.mp3').play();
            window.location = "room1a.html";
        }
    };
    annyang.addCommands(commands);
    annyang.start();
}
}
</script>

<script>
window.onload = function(){
if (annyang) {
    var commands = {
        '2': function() {document.getElementById('Turn.mp3').play();
            window.location = "room1b.html";
        }
    };
    annyang.addCommands(commands);
    annyang.start();
}
}
</script>

1 个答案:

答案 0 :(得分:1)

如果你这样做,第二次调用

annyang.addCommands(commands);

覆盖第一个。当你说&#34;一个&#34;

时,这就是它不认识它的原因。

See documentation here.

  

初始化annyang,覆盖之前添加的任何命令

一种可能的解决方案是,在一个命令对象中添加所有需要的语音命令:

<script>
window.onload = function(){
if (annyang) {
    var commands = {
        '1': function() {document.getElementById('Turn.mp3').play();
            window.location = "room1a.html";
        },
        '2': function() {document.getElementById('Turn.mp3').play();
            window.location = "room1b.html";
        }            
    };
    annyang.addCommands(commands);
    annyang.start();
}
}
</script>