Некорректное сохранение аудиозаписи в Electron

Есть приложение на Electron, в котором пробую сначала записать аудио с микрофона а затем сохранить на локальный ПК. Запись проходит штатно, сохранение идет штатными средствами но вот сохраненный файл уже не воспроизводиться, код записи preload.js:

function record_() {
 const recordAudio = () =>
     new Promise(async resolve => {
         try{
             let stream = await navigator.mediaDevices.getUserMedia({ audio: true });
             let mediaRecorder = new MediaRecorder(stream);
             let audioChunks = [];
             mediaRecorder.addEventListener('dataavailable', event => {
                 audioChunks.push(event.data);
             });
             const start = () => {
                 audioChunks = [];
                 mediaRecorder.start();
             };
             const stop = () =>
                 new Promise(resolve => {
                     mediaRecorder.addEventListener('stop', (e) => {
                         if(audioChunks.length){
                             const audioBlob = new Blob(audioChunks,{type : 'audio/wav'});
                             audioChunks = [];
                             const audioUrl = URL.createObjectURL(audioBlob);
                             let audio = new Audio(audioUrl);
                             audio.setAttribute('controls','controls');
                             console.log('stop')

                             savedAudioMessagesContainer.appendChild(audio); 
                             const play = () => audio.play();
                             resolve({ audioChunks, audioBlob, audioUrl, play });
                         }
                     });

                     mediaRecorder.stop();
                 });

             resolve({ start, stop });
         }catch(e){
             console.error('error not connected microphone');
             console.error(e);
         }
     });
 const sleep = time => new Promise(resolve => setTimeout(resolve, time));
 const recordButton = document.querySelector('#record');
 const stopButton = document.querySelector('#stop');
 const playButton = document.querySelector('#play');
 const saveButton = document.querySelector('#save');
 let savedAudioMessagesContainer = document.querySelector('#audioBox')
 let recorder;
 let audio;
 recordButton.addEventListener('click', async () => {
     recordButton.setAttribute('disabled', true);
     stopButton.removeAttribute('disabled');
     playButton.setAttribute('disabled', true);
     saveButton.setAttribute('disabled', true);
     if (!recorder) {
         console.log("!recorder");
         recorder = await recordAudio();
     }
     recorder.start();
 });
 stopButton.addEventListener('click', async () => {
     recordButton.removeAttribute('disabled');
     stopButton.setAttribute('disabled', true);
     playButton.removeAttribute('disabled');
     saveButton.removeAttribute('disabled');
     audio = await recorder.stop();
 });
 playButton.addEventListener('click', () => {
     audio.play();
 });
 }
     

Далее обычная загрузка, все по умолчанию, появляется окно с выбором директории, выбираю сохраняю открываю файл, ошибка, aimp пишет Message: Decoder was not found for this format. (формат wav)


Ответы (0 шт):