如何在每个单词后重置javascript语音识别



我想在每个单词后重置结果,这样当我说"嗨"时,视频会播放"你好吗",另一个视频会播放,但问题是每次我试图说嗨时,代码都会停止,在刷新页面之前不要让我说其他话。是否有机会刷新/清除/重置结果

有人能帮我吗。谢谢

var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;
var SpeechRecognitionEvent = SpeechRecognitionEvent || webkitSpeechRecognitionEvent;
var recognition = new SpeechRecognition();
recognition.continuous = true;
recognition.lang = 'en-US';
recognition.interimResults = false;
recognition.maxAlternatives = 1;
var diagnostic = document.querySelector('.output');
var vid = document.getElementById("myVideo");
document.body.onload = function() {
recognition.start();
}
recognition.onresult = function(event) {
var res = event.results[0][0].transcript;
diagnostic.textContent = 'Result received: ' + res + '.';

if (res == 'hi') {
vid.play();
} else if (res == 'stop') {
vid.pause();
}
}
recognition.onspeechend = function() {
location.reload();
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">
<title>Speech color changer</title>
<link rel="stylesheet" href="style.css">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<video id="myVideo" width="100%" controls autoplay loop muted="muted">
<source src="test.mp4" type="video/mp4">
Your browser does not support HTML5 video.
</video>
<p class="hints"></p>
<div>
<p class="output"><em>...diagnostic messages</em></p>
</div>
<script src="script.js"></script>
</body>
</html>

视频播放完成后,您应该有一个事件侦听器,如下所示:

document.getElementById('myVideo').addEventListener('ended',function() {
recognition.start();
},false);

最新更新