Собственно код ниже, в нем я привел пример записи передачи аудио, но я не хочу чтобы он при старте записывался при стопе отправлялся, я хочу чтобы он при старте сразу отправлялся двоичными данными на сокет, а при стопе просто обрубалось соединение и данные не передавались бы. Я не могу найти метод в 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 = [];
});
});