Я пытаюсь записывать носители с помощью API mediaRecorder. Вот мой код (только соответствующая часть). Я ожидаю получить консольный журнал в saveChunks, но похоже, что событие ondataavailable никогда не запускается. Я могу видеть видео в элементе video.
recordedChunks = [];
navigator.mediaDevices.getUserMedia({video:true, audio:true})
.then(function(stream) {
myVideoMedia = document.getElementById("vid1");
myVideoMedia.srcObject = stream;
myVideoMedia.onloadedmetadata = function(e) {
myVideoMedia.play();
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.ondataavailable = saveChunks;
mediaRecorder.start();
console.log(mediaRecorder);
};
})
function saveChunks(event) {
console.log("Data recorded...");
//...
};
}
Журнал консоли mediaRecorder.state - «запись»
Я попытался передать временный интервал 1000 в start () и он теперь работает! Если временный интервал не передан, функция вызывается один раз в конце.