Скриншарин и несколько аудио-устройств

Ivan

Member
Собственно вопрос, когда есть несколько аудио устройств, как можно указать какое нужно использовать при стримшаринге?
 

Max

Administrator
Staff member
Вот пример скриншаринга с микрофоном:
https://wcs5-eu.flashphoner.com/demo2/screen-sharing
https://github.com/flashphoner/flas...mo/streaming/screen-sharing/screen-sharing.js
Code:
 var constraints = {
        video: {
            width: parseInt($('#width').val()),
            height: parseInt($('#height').val()),
            frameRate: parseInt($('#fps').val()),
            type: "screen"
        },
        audio: $("#useMic").prop('checked')
    };
А вот пример Media Devices, где можно выбирать микрофон:
https://wcs5-eu.flashphoner.com/demo2/media-devices
https://github.com/flashphoner/flas...reaming/media_devices_manager/manager.js#L203
Code:
constraints.audio = {
            deviceId: $('#audioInput').val()
};
Т.е. если передать deviceId в constraints, то должно заработать.
Code:
 var constraints = {
        video: {
            width: parseInt($('#width').val()),
            height: parseInt($('#height').val()),
            frameRate: parseInt($('#fps').val()),
            type: "screen"
        },
        audio: {deviceId:'12345'}
    };
deviceId можно вывести и выбрать как в примере Media Devices
https://github.com/flashphoner/flas...treaming/media_devices_manager/manager.js#L40
Code:
Flashphoner.getMediaDevices(null, true).then(function (list) {
        list.audio.forEach(function (device) {
            var audio = document.getElementById("audioInput");
            var i;
            var deviceInList = false;
            for (i = 0; i < audio.options.length; i++) {
                if (audio.options[i].value == device.id) {
                    deviceInList = true;
                    break;
                }
            }
 
Top