このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
MediaDeviceInfo
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年9月.
MediaDeviceInfo インターフェイスは、単一のメディア入力または出力機器を示す情報を持ちます。
navigator.mediaDevices.enumerateDevices() の呼び出しによって取得できる機器の一覧は、MediaDeviceInfo オブジェクトの配列であり、1 つのメディア機器が 1 つに対応します。
In this article
インスタンスプロパティ
MediaDeviceInfo.deviceId読取専用文字列で、セッションをまたいで維持される機器を表す識別子を返します。他のアプリケーションからは推測できず、呼び出されたアプリケーションのオリジンで固有のものです。ユーザーがクッキーを消去するとリセットされます(プライベートブラウジングの場合は、セッションをまたいで維持されない異なる識別子を使用します)。
MediaDeviceInfo.groupId読取専用文字列で、グループ識別子を返します。2 つの機器が同一のグループ識別子を持つ場合、それらの機器は同一の物理機器に属していることになります。例えば、モニターに内蔵カメラとマイクが付いている場合などです。
MediaDeviceInfo.kind読取専用"videoinput"、"audioinput"、"audiooutput"の何れかの列挙値を返します。MediaDeviceInfo.label読取専用この機器を記述する文字列を返します(例えば "External USB Webcam")。
メモ:セキュリティのため、label フィールドはアクティブなメディアストリームが存在するか、メディア機器への継続的な権限をユーザーが付与しない限り、常に空欄になります。機器ラベルの組み合わせによって、ユーザーを識別するためのフィンガープリントの一部として利用することができてしまいます。
インスタンスメソッド
MediaDeviceInfo.toJSON()この
MediaDeviceInfoオブジェクトの JSON 表現を返します。
例
ここでは、機器の一覧を取得するためにenumerateDevices() を使用しています。
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) { console.log("enumerateDevices() not supported.");} else { // カメラとマイクを一覧にする。 navigator.mediaDevices .enumerateDevices() .then((devices) => { devices.forEach((device) => { console.log(`${device.kind}: ${device.label} id = ${device.deviceId}`); }); }) .catch((err) => { console.log(`${err.name}: ${err.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> |