Web Audio API and Multichannel Microphone

I have an audio device with 4 microphone inputs.

Does anyone know if I can use all of these inputs with the Web Audio API?

Thank!

+3


source to share


2 answers


It should work by calling getUserMedia four times, selecting a different device each time and using createMediaStreamSource four times, although I haven't tested.



0


source


yes, you can list all input devices and select one of them.



<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>

      

0


source







All Articles