MediaDevices
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.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die MediaDevices-Schnittstelle der Media Capture and Streams API ermöglicht den Zugriff auf angeschlossene Medieneingabegeräte wie Kameras und Mikrofone sowie auf die Bildschirmfreigabe. Damit können Sie auf Hardwarequellen für Mediendaten zugreifen.
Instanzeigenschaften
Erbt Eigenschaften von der übergeordneten Schnittstelle EventTarget.
Instanzmethoden
Erbt Methoden von der übergeordneten Schnittstelle EventTarget.
enumerateDevices()-
Liefert ein Array mit Informationen über die auf dem System verfügbaren Medieneingabe- und -ausgabegeräte.
getSupportedConstraints()-
Gibt ein Objekt zurück, das angibt, welche einschränkbaren Eigenschaften von der Schnittstelle
MediaStreamTrackunterstützt werden. Weitere Informationen zu Constraints und ihrer Verwendung finden Sie unter Media Streams API. getDisplayMedia()-
Fordert die nutzende Person auf, einen Bildschirm oder einen Teil davon (etwa ein Fenster) auszuwählen, um ihn als
MediaStreamfür die Freigabe oder Aufzeichnung zu erfassen. Gibt ein Promise zurück, das mit einemMediaStreamerfüllt wird. getUserMedia()-
Aktiviert nach einer Berechtigungsabfrage eine Kamera und/oder ein Mikrofon des Systems und stellt einen
MediaStreambereit, der einen Videotrack und/oder einen Audiotrack mit den Eingabedaten enthält. selectAudioOutput()-
Fordert die nutzende Person auf, ein bestimmtes Audioausgabegerät auszuwählen.
Ereignisse
devicechange-
Wird ausgelöst, wenn ein Medieneingabe- oder -ausgabegerät an den Computer der nutzenden Person angeschlossen oder davon entfernt wird.
Beispiel
// Put variables in global scope to make them available to the browser console.
const video = document.querySelector("video");
const constraints = {
audio: false,
video: true,
};
navigator.mediaDevices
.getUserMedia(constraints)
.then((stream) => {
const videoTracks = stream.getVideoTracks();
console.log("Got stream with constraints:", constraints);
console.log(`Using video device: ${videoTracks[0].label}`);
stream.onremovetrack = () => {
console.log("Stream ended");
};
video.srcObject = stream;
})
.catch((error) => {
if (error.name === "OverconstrainedError") {
console.error(
`The resolution ${constraints.video.width.exact}x${constraints.video.height.exact} px is not supported by your device.`,
);
} else if (error.name === "NotAllowedError") {
console.error(
"You need to grant this page permission to access your camera and microphone.",
);
} else {
console.error(`getUserMedia error: ${error.name}`, error);
}
});
Spezifikationen
| Spezifikation |
|---|
| Media Capture and Streams> # mediadevices> |
Browser-Kompatibilität
Siehe auch
- Media Capture and Streams API: Die API, zu der diese Schnittstelle gehört.
- Screen Capture API: Die API, die die Methode
getDisplayMedia()definiert. - WebRTC API
Navigator.mediaDevices: Gibt eine Referenz auf einMediaDevices-Objekt zurück, über das auf Geräte zugegriffen werden kann.- CameraCaptureJS: Erfassung und Wiedergabe von HTML-Videos mit
MediaDevicesund der MediaStream Recording API - OpenLang: Webanwendung für ein Sprachlabor mit HTML-Videos, die
MediaDevicesund die MediaStream Recording API zur Videoaufzeichnung verwendet