检查chrome WebkitSpeechRecognition是否已初始化?

时间:2017-11-16 11:20:40

标签: angular google-chrome webkitspeechrecognition

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

非常感谢。

1 个答案:

答案 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"); }
            }