MediaDevices
方法
enumerateDevices()
requests a list of the available media input and output devices, such as microphones, cameras, headsets, and so forth.
返回的
Promise
is resolved with a
MediaDeviceInfo
array describing the devices.
var enumeratorPromise = navigator.mediaDevices.enumerateDevices();
A
Promise
that receives an array of
MediaDeviceInfo
objects when the promise is fulfilled. Each object in the array describes one of the available media input and output devices.
If enumeration fails, the promise is rejected.
此处范例,使用
enumerateDevices()
. It simply outputs a list of the
device IDs
, with their labels if available.
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
console.log("enumerateDevices() not supported.");
return;
}
// List cameras and microphones.
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
console.log(device.kind + ": " + device.label +
" id = " + device.deviceId);
});
})
.catch(function(err) {
console.log(err.name + ": " + err.message);
});
This might produce:
videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8= audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM= audioinput: id = r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
or if one or more
MediaStream
s are active or persistent permissions are granted:
videoinput: FaceTime HD Camera (Built-in) id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8= audioinput: default (Built-in Microphone) id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM= audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
| 规范 | 状态 | 注释 |
|---|---|---|
|
媒体捕获和流
The definition of 'mediaDevices: enumerateDevices' in that specification. |
候选推荐 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
enumerateDevices
|
Chrome 47 | Edge 12 |
Firefox
63
Disabled
|
IE No | Opera 34 | Safari 11 | WebView Android 47 | Chrome Android 47 |
Firefox Android
63
Disabled
|
Opera Android 34 | Safari iOS 11 | Samsung Internet Android 5.0 |
完整支持
不支持
见实现注意事项。
用户必须明确启用此特征。
navigator.mediaDevices.getUserMedia()
getUserMedia()
for taking photos rather than video.
MediaDevices
enumerateDevices()
getDisplayMedia()
getSupportedConstraints()
getUserMedia()
MediaDevices.getUserMedia()
Navigator.mediaDevices
RTCCertificate
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCDataChannel
RTCDataChannelEvent
RTCDtlsTransport
RTCErrorEvent
RTCIceCandidate
RTCIceTransport
RTCPeerConnection
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
RTCSctpTransport
RTCSessionDescription
RTCStatsEvent
RTCStatsReport
RTCTrackEvent