Аудиоконтекст Firefox приостановлен

Я пытаюсь записать звук и загрузить его на сервер с помощью javascript. Я использую Recorder js от Мэтта Даймонда. Но проблема в том, что генерируемый файл составляет 0 минут. При отладке через консоль firebug обнаружилось, что свойство audiocontext было приостановлено. Когда googled обнаружил, что для записи состояние аудиоконтекста должно быть в рабочем состоянии. Точно не знаю, связана ли проблема с состоянием или я что-то упустил. Хотел узнать, что приводит к тому, что состояние аудиоконтекста находится в приостановленном режиме. Если я попытаюсь использовать другие браузеры, состояние будет запущено, и файл будет сгенерирован. Но мое ограничение: я хочу использовать Firefox для своего приложения.

Версия фаерфокса: 42.0

Ниже приведен код

if(audioRecorder)
{
 audioRecorder.clear();
 audioRecorder.record();

 setTimeout(stopRecorder,9000);   // 9 secs 
}
function stopRecorder()
{
  if(audioRecorder)
    {
       audioRecorder.stop();
       audioRecorder.exportWAV(function(blob){
       alert("Blob size : "+blob.size);
       // code for sending the blob to server 

          });
     }
}

при отладке приведенный выше код в аудиоконтексте firebug был приостановлен.

заранее спасибо


person vegeta    schedule 29.11.2015    source источник


Ответы (2)


Создал JSFiddle и протестировал его несколько раз — корректно работает в Firefox 42 [macosx]


function createDownloadLink() {
   recorder && recorder.exportWAV(function(blob) {
     var url = URL.createObjectURL(blob);
     var li = document.createElement('li');
     var au = document.createElement('audio');
     var hf = document.createElement('a');
     au.controls = true;
     au.src = url;
     hf.href = url;
     hf.download = new Date().toISOString() + '.wav';
     hf.innerHTML = hf.download;
     li.appendChild(au);
     li.appendChild(hf);
     recordingslist.appendChild(li);
});


Проблема 139 Иногда создается wav-файл длительностью 0,0 в Firefox #139

person bfmags    schedule 18.05.2016

это не прямой ответ, но он решает проблему, взятую из моего другого ответа, если все, что вам нужно, это отправить аудиофайлы на сервер, вместо использования громоздких несжатых wav файлов вы можете легко (и естественно) записывать аудио в сжатом формате ogg, используя MediaRecorder API, поддерживается в Firefox, начиная с версии 25, и в Chrome, начиная с версии 47.

person mido    schedule 16.05.2016