我想让我的语音识别JavaScript在固定时间段内连续录制5分钟。
我的js具有以下代码
try {
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
var recognition = new SpeechRecognition();
}
catch(e) {
// console.error(e);
$('.no-browser-support').show();
//$('.app').hide();
}
var noteTextarea = $('#note-textarea');
var instructions = $('#recording-instructions');
var notesList = $('ul#notes');
var noteContent = '';
// Get all notes from previous sessions and display them.
var notes = getAllNotes();
renderNotes(notes);
$( document ).ready(function() {
// Handler for .ready() called.
if (noteContent.length) {
noteContent += ' ';
}
recognition.start();
});
答案 0 :(得分:1)
delete
接口的onend
属性表示事件处理程序,该事件处理程序将在语音识别服务断开连接时(在结束事件触发时)运行。因此,当SpeechRecognition
发生此事件时,您可以重新启动SpeechRecognition
所以,最后您应该拥有类似的东西
start()
要运行五分钟,您可以使用var recognition = new SpeechRecognition();
...
recognition.onend = function() {
recognition.start();
}
之类的计时器等,并在setInterval
回音中添加一个检查以检查是否再次开始onend
。像
recognition
请注意,var counter = 0;
var interval = setInterval(function(){
counter++;
},1000)
recognition.onend = function() {
if(counter <= 5 * 60)
recognition.start();
else
clearInterval(interval)
}
会在5分钟后准确停止,但至少持续5分钟