Я пишу программу JS для записи носителей и вывода результатов каждые несколько секунд.Я использую setInterval для вызова MediaRecorder.requestData () каждые несколько секунд, но это никогда не вызывается.
Я добавил выходные данные отладки console.log в функцию интервала, но они не выводятся, потому что интервал не выполняетсяnamed.
function interval() {
mediaRecorder.requestData();
}
function stream() {
if (navigator.mediaDevices) {
var constraints = {audio : true, video : true};
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
mediaRecorder.ondataavailable = sendData;
});
interval = window.setInterval(interval, 30000);
}
}
mediaRecorder - это глобальная переменная, а sendData - это функция, которая будет обрабатывать большой двоичный объект и записывать его в консоль.
Я ожидаю, что вызов interval () будет происходить каждый раз30 секунд.В консоли нет сообщений об ошибках, но кажется, что interval () никогда не вызывается и что sendData () вызывается только тогда, когда запись вручную останавливается в браузере.