我一直在我的应用程序中使用W3C Speech Synthesizer用于网络 . 我说话了 . 目前,规范中的 result
事件等待在不说话的一秒左右后追加整个数组 .
我已经查看了标准,但我发现它只是等待从结果事件构造最终结果列表:
5.1.3 SpeechRecognition Events
结果事件:语音识别器返回结果时触发
5.1.8 SpeechRecognitionEvent
results attribute:此会话的所有当前识别结果的数组 .
我也尝试在 onstart
和 onpause
方法中检索结果:
recognition = new webkitSpeechRecognition()
recognition.onstart = function (event) {
//append word
};
recognition.onpause = function (event) {
//append word
};
当你说话的时候,任何人都知道如何实现这些词语的“打字”效果吗?
另一个问题是,如果用户停止讲话一秒钟,并且编译结果列表(IE, result event
被触发),并且他们再次发言,结果列表不会更新 .
即使我设置 recognition.continuous = true;
也会发生这种情况
1 回答
从Google Developers Introduction Video找到它 .
除
recognition.continuous = true
外,您还需要recognition.interimResults = true;
.然后需要在
onresult
处理程序中略微修改您的逻辑以考虑中间结果: