@Galdar
Web, JS, PHP, NGINX, Linux

Как обрабатывать звук сразу после события start с использованием MediaRecorder?

Собственно код ниже, в нем я привел пример записи передачи аудио, но я не хочу чтобы он при старте записывался при стопе отправлялся, я хочу чтобы он при старте сразу отправлялся двоичными данными на сокет, а при стопе просто обрубалось соединение и данные не передавались бы. Я не могу найти метод в MediaRecorder в котором бы сразу транслировался звук, а как я уже понял, использовать событие dataavailable бесполезно так как двоичные данные голоса передаются только после окончания записи, что мне не подходит.
js

navigator.mediaDevices.getUserMedia({ audio: true})
        .then(stream => {

            const mediaRecorder = new MediaRecorder(stream);

            console.log(stream);

            document.querySelector('#start').addEventListener('click', function(){
                mediaRecorder.start();
            });

            

           // let audioChunks = [];
            mediaRecorder.addEventListener("dataavailable", (event) => {

                //audioChunks.push(event.data);
                socket.emit("data", event.data);

            });

            
            mediaRecorder.addEventListener("start", () => {

                console.log( "start" )

            })

            document.querySelector('#stop').addEventListener('click', function(){
                mediaRecorder.stop();
            });

            mediaRecorder.addEventListener("stop", function() {

                console.log( "stop" )

                //socket.emit("data", audioBlob);

                audioChunks = [];

            });
        });

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

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

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