通过WebRTC进行音视频设备
我们可以直接通过调用WebRTC API来获取音视频设备,其中包含:
MediaDevice : 该接口提供了访问计算机上的媒体设备,比如摄像头、麦克风、截取屏幕的方法等。
MediaDeviceInfo : 它表示每个输入\输出设备的信息,包含以下三个重要的属性:
- deviceID,设备的唯一标识
- label, 设备名称
- kind, 设备种类,可用于识别是音频设备还是视频设备,是输入设备还是输出设备
获取音视频设备的接口
MediaDevice.enumrateDevices()
具体代码如下:
...
//判断浏览器是否支持这些 API
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
console.log("enumerateDevices() not supported.");
return;
}
// 枚举 cameras and microphones.
navigator.mediaDevices.enumerateDevices()
.then(function(deviceInfos) {
//打印出每一个设备的信息
deviceInfos.forEach(function(deviceInfo) {
console.log(deviceInfo.kind + ": " + deviceInfo.label +
" id = " + deviceInfo.deviceId);
});
})
.catch(function(err) {
console.log(err.name + ": " + err.message);
});