2013-07-18 4 views
0

Я играю с getUserMedia, чтобы получить доступ к микрофону пользователей в Chrome (версия 28.0.1500.72 м). Я могу записывать и воспроизводить ввод пользователей, когда они используют внутренний микрофон с внутренними динамиками.HTML5 Аудиозапись не работает Внешний микрофон

Как только я подключаю минигарнитуру USB-гарнитуры, я больше не могу записывать входные данные пользователей. Я переключил устройство в настройках Chrome в настройках конфиденциальности и контента. Так что хром видит недавно подключенный микрофон. Я перезапустил хром и попробовал его снова после подключения микрофона. Все еще нет ввода пользователем.

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

Ниже приведен код, который я использую.

window.AudioContext = window.AudioContext||window.webkitAudioContext; 
    var html5Recorder; 
    var audioContext = new AudioContext(); 
    navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia; 
    if(navigator.getUserMedia){ 
     navigator.getUserMedia({audio:true},handleAudioStream, audioError) 
    }else{ 
     console.log('Use Flash') 
    } 

    function handleAudioStream(stream){ 
     var mediaStream = audioContext.createMediaStreamSource(stream); 
     mediaStream.connect(audioContext.destination); 
     html5Recorder = new HTML5Recorder(mediaStream); 
     html5Recorder.stop(); 
     html5Recorder.clear(); 
    } 

    function audioError(error){ 
     console.log(error); 
    } 

    function record(){ 
     html5Recorder.record(); 
    } 

    function stopRecording(){ 
     html5Recorder.stop(); 
     html5Recorder.exportWAV(function(e){ 
      console.log(e); 
      console.log(window.URL.createObjectURL(e)); 
      document.getElementById('audio1').src = window.URL.createObjectURL(e); 
      HTML5Recorder.forceDownload(e); 
     }); 
    } 

ответ

1

Это была ошибка в текущей хромовой сборке, которую я использовал (28). Chrome canary отлично работает.

0

Можете ли вы проверить частоту дискретизации на двух аудиоустройствах?

Существует ошибка, связанная с тем, что микрофон не по умолчанию работает, только если частота дискретизации совпадает с микрофоном по умолчанию: https://code.google.com/p/chromium/issues/detail?id=164058.

Также вы находитесь на OSX или Linux? Комментарии в этой ошибке заставляют выглядеть так, как будто она должна быть исправлена ​​в Windows.

0

Попробуйте выбрать USB-микрофон в качестве стандартного. Chrome не управляет аудиоустройствами, и он всегда использует микрофон по умолчанию.

Смежные вопросы