Передаю буфер данных в decodeAudioData и выдает такую ошибку:
The buffer passed to decodeAudioData contains invalid content which cannot be decoded successfully.
Если я передаю с прерываниями, то все нормально, но если ставлю mediaRecorder.start(0); ноль, то есть передаю буфер без записи выдает ошибку. С чем это может быть связано?
js-1socket.on("answer", ( data ) => {
console.log( "answer" );
console.log( data );
context.decodeAudioData(data).then((buffer) => {
var source = context.createBufferSource();
source.buffer = buffer;
source.connect(context.destination);
source.start(0);
});
});
Да же вот, если напрямую без сокета сделать запись и воспроизведение каждые 5 секунд, то первые 5 секунд воспроизводит,а вторые уже пишет ошибку
js-2
document.querySelector('#start').addEventListener('click', function(){
mediaRecorder.start(5000);
});
document.querySelector('#stop').addEventListener('click', function(){
mediaRecorder.stop();
});
mediaRecorder.ondataavailable = (event) => {
//console.log('Got blob data:', event);
if (event.data.size > 0) {
//console.log({id: stream.id, data: event.data});
//socket.emit("data", event.data);
context.decodeAudioData(event.data).then((buffer) => {
var source = context.createBufferSource();
source.buffer = buffer;
source.connect(context.destination);
source.start(0);
});
}
}