@Galdar
Web, JS, PHP, NGINX, Linux

Как решить ошибку не правильного формата данных в AudioContext?

Передаю буфер данных в decodeAudioData и выдает такую ошибку:
The buffer passed to decodeAudioData contains invalid content which cannot be decoded successfully.
Если я передаю с прерываниями, то все нормально, но если ставлю mediaRecorder.start(0); ноль, то есть передаю буфер без записи выдает ошибку. С чем это может быть связано?

js-1
socket.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);

                    });

                }
            }

  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы