我正在尝试使用annyang将语音转换为文本,但我遇到了一些问题。它有效,但还有一些东西还没有。首先,我想知道如何将用户说出的任何内容传递到警报功能中。接下来,我想知道当用户说完后如何结束annyang功能。最后,我想知道如何让允许和禁止麦克风提示一旦出现一次又一次出现。
<script>
if (annyang) {
var commands = {
'Hello': function() {
alert("Success");
}
};
annyang.addCommands(commands);
}
</script>
<input type = 'submit' value = 'listen' onclick = "annyang.start();">
答案 0 :(得分:4)
使用annyang转换为文本的Intead,您可以使用原始的google speechrecognition演示测试自己
请参阅上面的源代码,您可以使用SpeechRecognition轻松完成所需的操作
我推荐这个,因为annyang更像是一个语音控制插件。另一方面,如果您想使用库,可以使用Artyom.js。
Artyom提供了一个简单的“听写”对象,可以快速将语音转换为文本:
var settings = {
continuous:true, // Don't stop never because i have https connection
onResult:function(text){
console.log(text);
},
onStart:function(){
console.log("Dictation started by the user");
},
onEnd:function(){
alert("Dictation stopped by the user");
}
};
var UserDictation = artyom.newDictation(settings);
// Start listening
UserDictation.start();
// To stop
//UserDictation.stop();
语言需要在initialize方法中提供。
答案 1 :(得分:2)
var anything = function(anything) {
alert(anything);
};
var commands = {
'*anything': anything
};
这是有效的,
它也不会违反定义的命令
答案 2 :(得分:0)
我想知道如何将用户说出的任何内容传递到警报功能中。
您可以执行类似
的操作<script>
if (annyang) {
var commands = {
'Hello :variable': function(variable) {
alert(variable);
}
};
annyang.addCommands(commands);
}
</script>
variable
是字符串,webspeech-api已经认识到了。
接下来,我想知道当用户说完话后如何结束annyang功能。
将continuous
设为false。当用户说完话时,Annyang将自动停止识别。
annyang.start({ autoRestart: false, continuous: false });
您还可以在语音识别完成后添加annyang将调用的回调函数:
annyang.addCallback('end', function () { // your code here});
最后,我想知道如何让允许和禁止麦克风提示一旦出现一次又一次出现。
防止这种情况发生的唯一方法是通过https
而不是http
来传递网站。没有其他方法可以实现这一目标。它也将提高识别的速度。