Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

MediaDeviceInfo

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die Schnittstelle MediaDeviceInfo der Media Capture and Streams API enthält Informationen über ein einzelnes Medieneingabe- oder -ausgabegerät.

Die durch Aufruf von navigator.mediaDevices.enumerateDevices() abgerufene Geräteliste ist ein Array von MediaDeviceInfo-Objekten – eines pro Mediengerät.

Instanzeigenschaften

MediaDeviceInfo.deviceId Schreibgeschützt

Gibt einen String zurück, der das dargestellte Gerät sitzungsübergreifend identifiziert. Andere Anwendungen können diesen Bezeichner nicht erraten; er ist für den Ursprung der aufrufenden Anwendung eindeutig. Er wird zurückgesetzt, wenn Benutzer Cookies löschen. Beim privaten Surfen wird ein anderer Bezeichner verwendet, der nicht sitzungsübergreifend gespeichert wird.

MediaDeviceInfo.groupId Schreibgeschützt

Gibt einen String zurück, der die Gruppe identifiziert. Zwei Geräte haben dieselbe Gruppenkennung, wenn sie zum selben physischen Gerät gehören – beispielsweise zu einem Monitor mit integrierter Kamera und integriertem Mikrofon.

MediaDeviceInfo.kind Schreibgeschützt

Gibt einen Aufzählungswert zurück, der entweder "videoinput", "audioinput" oder "audiooutput" ist.

MediaDeviceInfo.label Schreibgeschützt

Gibt einen String zurück, der dieses Gerät beschreibt (beispielsweise „Externe USB-Webcam“).

Hinweis: Aus Sicherheitsgründen ist das Feld label immer leer, es sei denn, ein Medienstrom ist aktiv oder Benutzer haben eine dauerhafte Berechtigung für den Zugriff auf Mediengeräte erteilt. Andernfalls könnten die Gerätebezeichnungen als Teil eines Fingerprinting-Mechanismus verwendet werden, um Benutzer zu identifizieren.

Instanzmethoden

MediaDeviceInfo.toJSON()

Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das MediaDeviceInfo-Objekt repräsentiert. Wird von JSON.stringify() automatisch aufgerufen.

Beispiel

Dieses Beispiel verwendet enumerateDevices(), um eine Liste von Geräten abzurufen.

js
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
  console.log("enumerateDevices() not supported.");
} else {
  // List cameras and microphones.
  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}`);
    });
}

Das könnte Folgendes ausgeben:

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

Oder, wenn mindestens ein Medienstrom aktiv ist oder dauerhafte Berechtigungen erteilt wurden:

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

Spezifikationen

Spezifikation
Media Capture and Streams
# device-info

Browser-Kompatibilität

Siehe auch