从JavaScript访问麦克风输入

时间:2014-01-21 19:47:23

标签: javascript web-audio

我想用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.');
}

我想以流的形式访问它。我甚至不需要立体声,只是一种获取数据的方法。

编辑:我想使用websockets将数据发送回服务器,以创建一种对讲系统。在这里,我需要能够访问一个简单的音频流,停止并在某些事件上启动它。

1 个答案:

答案 0 :(得分:5)

如果您的意思是要访问正在进行的音频流的原始样本 - 请使用Web Audio(http://webaudio.github.io/web-audio-api/#ScriptProcessorNode)中的ScriptProcessorNode。如上所述,RecordJS将帮助您了解如何执行此操作。