--- title: MediaDevices.enumerateDevices() slug: Web/API/MediaDevices/enumerateDevices tags: - API - Experimental - MediaDevices - Method translation_of: Web/API/MediaDevices/enumerateDevices ---
{{APIRef("WebRTC")}}{{SeeCompatTable}}
MediaDevices.enumeratedDevices() メソッドは、システム上で利用できる入出力メディアデバイスの情報を収集します。
navigator.mediaDevices.enumerateDevices();
列挙が成功した場合、使用できる入出力メディアデバイスの情報を持つMediaDeviceInfoオブジェクトの配列で満たされた{{ domxref("Promise") }} が返されます。
次の情報が返されます。プライバシーへの配慮のため、コールした時に現在のページにアクティブな{{domxref("MediaStream")}} オブジェクトがあるか、ユーザーがページのオリジンに対して認可に対して許可を出していない限り、label情報は空文字です。
MediaDeviceInfoは以下の情報を含みます。
deviceIdgroupIdkindlabelmediaDevices.enumerateDevices()の使用例を示します。
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);
});
実行例:
videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: id = r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
つ以上のMediaStreamがアクティブか、認可に対する許可がある場合:
videoinput: FaceTime HD Camera (Built-in) id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: default (Built-in Microphone) id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
インストールできるアプリケーション(たとえば、 Firefox OS app)でenumerateDevices() を使用するには、マニフェストファイルに1つまたは両方の次のフィールドを設定する必要があります。
"permissions": {
"audio-capture": {
"description": "Required to capture audio using getUserMedia()"
},
"video-capture": {
"description": "Required to capture video using getUserMedia()"
}
}
さらなる情報はpermission: audio-captureとpermission: video-captureを見てください。
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('Media Capture', '#mediadevices', 'mediaDevices.enumerateDevices')}} | {{Spec2('Media Capture')}} | Initial definition. |
{{Compat("api.MediaDevices.enumerateDevices")}}
getUserMedia()を使用するためのチュートリアル