Baseline 2023
Newly available
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die enumerateDevices()
Methode der MediaDevices
Schnittstelle fordert eine Liste der aktuell verfügbaren Medien-Eingangs- und Ausgangsgeräte an, wie Mikrofone, Kameras, Headsets und so weiter. Die zurückgegebene Promise
wird mit einem Array von MediaDeviceInfo
Objekten aufgelöst, die die Geräte beschreiben.
Die zurückgegebene Liste wird alle Geräte auslassen, die durch die Dokumenten-Permission Policy blockiert sind: microphone
, camera
, speaker-selection
(für Ausgabegeräte) und so weiter. Der Zugriff auf bestimmte Nicht-Standard-Geräte wird auch durch die Permissions API geregelt, und die Liste wird Geräte auslassen, für die der Benutzer keine explizite Erlaubnis erteilt hat.
Keine.
RückgabewertEine Promise
, die mit einem Array von MediaDeviceInfo
Objekten erfüllt wird. Jedes Objekt im Array beschreibt eines der verfügbaren Medien-Eingangs- und Ausgangsgeräte. Die Reihenfolge ist bedeutend â die Standardaufnahmegeräte werden zuerst aufgelistet.
Abgesehen von Standardgeräten sind nur Geräte verfügbar, für die eine Erlaubnis erteilt wurde.
Wenn das Mediengerät ein Eingabegerät ist, wird ein InputDeviceInfo
Objekt zurückgegeben.
Wenn die Aufzählung fehlschlägt, wird die Promise abgelehnt.
SicherheitsanforderungenDer Zugriff auf die API unterliegt den folgenden Einschränkungen:
Hier ist ein Beispiel für die Verwendung von enumerateDevices()
. Es gibt eine Liste der Geräte-IDs aus, mit ihren Bezeichnungen, falls verfügbar.
if (!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.error(`${err.name}: ${err.message}`);
});
}
Das könnte folgendes erzeugen:
videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8= audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM= audioinput: id = r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
oder wenn ein oder mehrere MediaStream
s aktiv sind oder dauerhafte Berechtigungen erteilt wurden:
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 Browser-Kompatibilität Siehe auch
MediaDevices.getUserMedia
getUserMedia()
zum Aufnehmen von Fotos anstelle von Videos.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4