MediaDeviceInfo

MediaDevicesInfo インタフェースは 1 つメディアが入力か出力のデバイスであるかを示す情報を含みます。navigator.mediaDevices.enumerateDevices()の呼び出しによって取得できるデバイスの一覧は、MediaDeviceInfoオブジェクトの配列であり、1 つの要素が 1 つのメディアデバイスになります。

プロパティ

MediaDeviceInfo.deviceId (en-US)読取専用

デバイスの識別子のDOMStringを返します。この識別子はセッションを越えて保持されます。この識別子は、他のアプリケーションから推測可能でないものであり、呼び出しているアプリケーション元に対して固有のものになります。この識別子は、ユーザがクッキー(プライベートブラウジングでは異なる識別子が使用され、セッションを越えて保持されません)をクリアした時にリセットされます。

MediaDeviceInfo.groupId (en-US)読取専用

グループ識別子のDOMStringを返します。2 つのデバイスが同一のグループ識別子を持つ場合、それらのデバイスは同一の物理デバイスに属していることになります。例として、内蔵カメラとマイクロフォンを持つモニターなど。

MediaDeviceInfo.kind (en-US)読取専用

"videoinput""audioinput""audiooutput"のどれかを返します。

MediaDeviceInfo.label (en-US)読取専用

デバイスを説明するラベルであるDOMStringを返します。(例、"External USB Webcam")

メモ: セキュリティ的な関係で、アクティブなメディアストリームが存在するか、メディアデバイスへの継続的な権限をユーザが付与しない限り、labelのフィールドは常に空欄になります。デバイスラベルの組み合わせによって、ユーザを識別するためのフィンガープリントの一部として利用することができてしまいます。

メソッド

なし。

ここでは、デバイスの一覧を取得するために、enumerateDevices()を使用しています。

if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
  console.log("enumerateDevices() not supported.");
  return;
}

// カメラとマイクを一覧にする。

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 + ": " + error.message);
});

コンソールには次のように表示されるでしょう。

videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: id = r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=

もしくは、1 つ以上のメディアストリームが有効の場合や、継続的な許可が与えられている場合は、次のように表示されるでしょう。

videoinput: FaceTime HD Camera (Built-in) id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: default (Built-in Microphone) id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=

仕様

Specification
Media Capture and Streams
# device-info

ブラウザーの互換性

BCD tables only load in the browser

関連項目