我目前正在使用WebkitSpeechRecognition API开发Web应用程序。 问题是,当我第一次使用.start()初始化API并开始对我的麦克风大喊大叫时,通常需要20秒才能触发第一个.onresult。在此期间,我想向用户反馈该工具正在启动并在他开始讲话后告诉他。不幸的是,只有在有语音输入的情况下才会触发onresult,而不是如果用户耐心等待初始化完成。有没有办法检查识别是否准备就绪?
非常感谢。
答案 0 :(得分:0)
在初始化
上将连续设置为 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"); }
}