0

我目前正在使用 WebkitSpeechRecognition API 开发一个 Web 应用程序。问题是,当我第一次使用 .start() 初始化 API 并开始对着我的麦克风大喊大叫时,通常需要 20 多秒才能触发第一个 .onresult。与此同时,我想向用户反馈该工具正在启动,并在他可以开始说话时告诉他。不幸的是,只有在有语音输入时才会触发 onresult,而不是当用户耐心地等待初始化完成时才会触发。有没有办法检查识别是否准备就绪?

非常感谢。

4

1 回答 1

0

在初始化时将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"); }
            }
于 2017-12-05T06:01:46.450 回答