我目前正在使用WebkitSpeechRecognition应用程序接口开发一个web应用程序。问题是,当我第一次使用.start()初始化API并开始对我的麦克风大喊时,通常需要超过20秒才会触发第一个.onresult。在此期间,我希望向用户反馈该工具正在启动,并在他可以开始说话时告诉他。不幸的是,onresult只有在有语音输入的情况下才会触发,如果用户耐心地静默等待初始化完成,则不会触发onresult。有没有一种方法可以检查识别是否准备就绪?
非常感谢。
发布于 2017-12-05 14:01:46
在初始化时将continuous设置为false
请参见下面的示例
if ('webkitSpeechRecognition' in window) {
var recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.interimResults = false;
recognition.onstart = function () { $('#modalLoadText').hide(); $('#modalListenText').show(); $('#myModal').modal('show'); console.log("Start"); }
recognition.onresult = function (event) { console.log("Finish"); }
recognition.onerror = function (event) { console.log("Error"); }
recognition.onend = function () { $('#modalLoadText').show(); $('#modalListenText').hide(); $('#myModal').modal('hide'); console.log("End"); }
}https://stackoverflow.com/questions/47328364
复制相似问题