Третий способ действительно хороший вариант! Действительно хорошая идея! Спасибо вам большое!
у записать микрофон пользователя длиной 5 секунд и загрузить каждый на сервер. Я пытался использовать MediaRecorder, и я вызывал методы start () и stop () с интервалом в 5 секунд, но когда я объединяю эти записи, между ними появляется звук "сброса". Поэтому я попытался записать 5-секундные сегменты, используя параметр timeslice метода start ():
navigator.mediaDevices.getUserMedia({ audio: { channelCount: 2, volume: 1.0, echoCancellation: false, noiseSuppression: false } }).then(function(stream) {
const Recorder = new MediaRecorder(stream, { audioBitsPerSecond: 128000, mimeType: "audio/ogg; codecs=opus" });
Recorder.start(5000);
Recorder.addEventListener("dataavailable", function(event) {
const audioBlob = new Blob([event.data], { type: 'audio/ogg' });
upload(audioBlob);
});
});
Но только первый сегмент играбелен. Что я могу сделать или как сделать все сгустки играбельными? Я ДОЛЖЕН записать, а затем загрузить каждый сегмент. Я НЕ МОГУ создавать массив больших двоичных объектов (поскольку пользователь может записывать данные за 24 часа или даже больше, и данные должны быть загружены на сервер во время записи - с задержкой в 5 секунд).
Спасибо!