Web音频API和多输入麦克风设备

时间:2014-12-11 22:51:31

标签: api audio web web-audio

我有一个带4个输入麦克风的音频设备..

有人知道我是否可以将所有这些输入用于Web音频API?

谢谢!

2 个答案:

答案 0 :(得分:0)

它应该通过调用getUserMedia四次,每次选择一个不同的设备,并使用createMediaStreamSource四次,虽然我没有测试过。

答案 1 :(得分:0)

是的,您可以列出所有输入设备并选择一个使用。

<html><body>

<select id="devices_list"></select>
<script>
function devices_list(){
        var handleMediaSourcesList = function(list){
            for(i=0;i<list.length;i++){
                var device= list[i];
                if(device.kind == 'audioinput') {
                    document.querySelector('#devices_list').options.add(new Option(device.label ,device.deviceId));
                }
            }

        }
        if (navigator["mediaDevices"] && navigator["mediaDevices"]["enumerateDevices"])
            {
                navigator["mediaDevices"]["enumerateDevices"]().then(handleMediaSourcesList);
            }
            // Old style API
            else if (window["MediaStreamTrack"] && window["MediaStreamTrack"]["getSources"])
            {
                window["MediaStreamTrack"]["getSources"](handleMediaSourcesList);
            }
}

function usemic(){

    navigator.getUserMedia ({
      "audio":{
            "optional": [{
            "sourceId": document.querySelector('#devices_list').value
             }]
        }}, function (stream) {
            //...some code to use stream from mic
        },function(err){
            debuginfo('getMedia ERR:'+err.message );
        });
}
</script>
</body></html>