Доступ к входу микрофона из JavaScript

Я хочу получить доступ к входу микрофона с помощью navigator.getUserMedia(), но не знаю, как действовать дальше.

Я могу запустить звук просто отлично, но я понятия не имею, что с ним делать после этого.

if (!navigator.getUserMedia) {
    navigator.getUserMedia = navigator.getUserMedia 
                           || navigator.webkitGetUserMedia 
                           || navigator.mozGetUserMedia 
                           || navigator.msGetUserMedia;    
}

if (navigator.getUserMedia) {
    navigator.getUserMedia({audio: true}, function (e) {
        // what goes here?
    }, function (e) {
        alert('Error capturing audio.');
    });
} else {
    alert('getUserMedia not supported in this browser.');
}

Я хотел бы получить к нему доступ как к потоку. Мне даже не нужно стерео, просто способ получить данные.

EDIT: я хочу отправить данные обратно на сервер с помощью веб-сокетов, чтобы создать своего рода систему внутренней связи. Здесь мне нужно иметь доступ к простому аудиопотоку, останавливая и запуская его при определенных событиях.


person Scimonster    schedule 21.01.2014    source источник
comment
github.com/mattdiamond/Recorderjs   -  person epascarello    schedule 21.01.2014
comment
Я не эксперт в этом, но я читал о проекте Web Real Time Communication. webrtc.org, и я нашел эту, надеюсь, полезную запись в блоге: html5rocks.com/en/tutorials/getusermedia/intro   -  person Harvey A. Ramer    schedule 21.01.2014
comment
@HarveyA.Ramer Я видел этот пост на html5rocks, но он в основном говорил о видео.   -  person Scimonster    schedule 21.01.2014
comment
Было бы полезно точно знать, что вы хотите сделать. Вы пытаетесь добавить эффекты? Записать аудио? Проанализировать это?   -  person Kevin Ennis    schedule 22.01.2014
comment
@KevinEnnis Я хочу отправить его обратно на сервер с помощью веб-сокетов, чтобы создать своего рода внутреннюю связь.   -  person Scimonster    schedule 22.01.2014
comment
см. ответ здесь: stackoverflow.com/questions/ 27846392/   -  person Z80    schedule 30.04.2020


Ответы (1)


Если вы хотите получить доступ к необработанным образцам текущего аудиопотока, используйте ScriptProcessorNode в Web Audio (http://webaudio.github.io/web-audio-api/#ScriptProcessorNode). Упомянутый выше RecordJS поможет показать вам, как это сделать.

person cwilso    schedule 21.01.2014