使用 API navigator.mediaDevices.enumerateDevices() 我得到了计算机中可用设备的 ID,但我不知道如何告诉导航器我要切换相机或麦克风。论坛中有很多示例,但由于 webRTC 多次更改 API 及其参考,因此没有一个明确的示例。网络中只有一个示例,由 webRTC 提出,但我无法真正理解它,或者至少我无法在它的代码中找到我需要的东西。
我没有尝试太多,因为我对 webRTC 很陌生...
if(!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) console.log('Enumerate Media Devices from getUserMedia is not supported');
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
if (device.kind == 'audioinput' || device.kind == 'audiooutput') $scope.devicesAudio.push(device);
else if (device.kind == 'videoinput' || device.kind == 'videooutput') $scope.devicesVideo.push(device);
else $scope.devices.push(device);
});
})
.catch(function(err) {
console.log(err.name + ':' + err.message);
});
$scope.selectDevice = function(device) {
if(device.kind == 'videooutput' || device.kind == 'videoinput') {
console.log('video Device selected' + ' DEVICE_ID: ' + device.deviceId);
}
else if(device.kind == 'audioinput' || device.kind == 'videooutput') {
console.log('Audio device selected' + ' DEVICE_ID: ' + device.deviceId);
};
};
我希望我的应用程序可以选择更改相机和麦克风...