Media Capabilities API
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Media Capabilities API ermöglicht es Entwicklern, die Dekodierungs- und Kodierungsfähigkeiten eines Geräts zu bestimmen. Sie gibt Informationen darüber, ob Medien unterstützt werden und ob die Wiedergabe flüssig und energieeffizient sein sollte.
Konzepte
Es gibt eine Vielzahl von Video- und Audio-Codecs. Verschiedene Browser unterstützen unterschiedliche Medientypen, und es werden ständig neue Medientypen entwickelt. Mit der Media Capabilities API können Entwickler sicherstellen, dass jeder Benutzer die beste Bitrate und Speicherplatzeinsparung für seinen Browser, sein Gerät und seine Betriebssystemfähigkeiten erhält.
Ob ein Gerät Hardware- oder Software-Dekodierung verwendet, beeinflusst, wie flüssig und energieeffizient die Videodekodierung ist und wie effizient die Wiedergabe sein wird. Die Media Capabilities API ermöglicht es Entwicklern festzustellen, welche Codecs unterstützt werden und wie leistungsfähig eine Mediendatei sowohl in Bezug auf Flüssigkeit als auch Energieeffizienz sein wird.
Die Media Capabilities API bietet leistungsfähigere Funktionen als andere APIs wie MediaRecorder.isTypeSupported() oder HTMLMediaElement.canPlayType(), die nur die allgemeine Unterstützung durch den Browser adressieren, nicht aber die Leistung.
Um Unterstützung, Flüssigkeit und Energieeffizienz für das Kodieren und Dekodieren von Video- oder Audioinhalten zu testen, verwenden Sie die Methoden encodingInfo() und decodingInfo() der Schnittstelle MediaCapabilities.
Schnittstellen
MediaCapabilities-
Bietet Informationen über die Dekodierungsfähigkeiten des Geräts, des Systems und des Browsers basierend auf Codecs, Profil, Auflösung und Bitraten. Die Informationen können verwendet werden, um dem Benutzer optimale Medienstreams bereitzustellen und zu bestimmen, ob die Wiedergabe flüssig und energieeffizient sein sollte.
Erweiterungen zu anderen Schnittstellen
-
Ein
MediaCapabilities-Objekt, das Informationen über die Dekodierungs- und Kodierungsfähigkeiten für ein gegebenes Medienformat und Ausgangsfähigkeiten bereitstellen kann. -
Ein
MediaCapabilities-Objekt, das Informationen über die Dekodierungs- und Kodierungsfähigkeiten für ein gegebenes Medienformat und Ausgangsfähigkeiten bereitstellen kann.
Beispiele
>Unterstützung und erwartete Leistung für Audiodateien erkennen
Dieses Beispiel definiert eine Audiokonfiguration und prüft dann, ob der Benutzeragent die Dekodierung dieser Medienkonfiguration unterstützt und ob sie in Bezug auf Flüssigkeit und Energieeffizienz gut performen wird.
if ("mediaCapabilities" in navigator) {
const audioFileConfiguration = {
type: "file",
audio: {
contentType: "audio/mp3",
channels: 2,
bitrate: 132700,
samplerate: 5200,
},
};
navigator.mediaCapabilities
.decodingInfo(audioFileConfiguration)
.then((result) => {
console.log(
`This configuration is ${result.supported ? "" : "not "}supported,`,
);
console.log(`${result.smooth ? "" : "not "}smooth, and`);
console.log(`${result.powerEfficient ? "" : "not "}power efficient.`);
})
.catch(() => {
console.log(`decodingInfo error: ${contentType}`);
});
}
Spezifikationen
| Specification |
|---|
| Media Capabilities> # media-capabilities-interface> |
Browser-Kompatibilität
Siehe auch
- Die Methode canPlayType() von HTMLMediaElement
- Die Methode isTypeSupported() von MediaSource
- Verwendung der Media Capabilities API