我正在用JavaScript进行webkitSpeechRecognition,而且效果很好,但是我遇到了一个问题:我希望始终在加载页面时启动语音识别,并且在每个单词之后都将其打印在控制台日志上。
即使尝试了while等,我也无法使程序打印每个单词。
这是我到目前为止的想法:
<script>
function startDictation() {
if (window.hasOwnProperty('webkitSpeechRecognition')) {
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = false;
recognition.lang = "en-US";
recognition.start();
recognition.onresult = function(e) {
//recognition.stop();
understand(e.results[0][0].transcript);
};
recognition.onerror = function(e) {
//recognition.stop();
}
}
}
window.onload = startDictation;
function understand(msg) {
console.log(msg);
//startDictation();
}
</script>
答案 0 :(得分:0)
尝试更换
recognition.interimResults = false;
使用
recognition.interimResults = true;
您需要将中期结果设置为true。它可能不会一个字一个字地给您,但会在被识别时给出短语。您可以在 Voice Driven Web Apps: Introduction to the Web Speech API
上查看更多内容