MediaCapabilities: encodingInfo() Methode
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die encodingInfo()
Methode des MediaCapabilities
-Interfaces gibt ein Promise zurück, das mit den getesteten Medienkonfigurationsfähigkeiten zur Codierung von Medien erfüllt wird. Diese Methode enthält die drei booleschen Eigenschaften supported
, smooth
und powerefficient
, die beschreiben, wie kompatibel das Gerät mit der Art von Medien ist.
Syntax
encodingInfo(configuration)
Parameter
configuration
-
Ein Objekt mit einer Eigenschaft
type
und entweder einervideo
oderaudio
Eigenschaft, die eine Konfiguration des entsprechenden Typs enthält:type
-
Der Typ der getesteten Medien. Dies nimmt einen von zwei Werten an:
record
-
Repräsentiert eine Konfiguration für die Aufnahme von Medien, z. B. mit
MediaRecorder
. webrtc
-
Repräsentiert eine Konfiguration, die über elektronische Mittel übertragen werden soll (z. B. mit
RTCPeerConnection
). Hinweis: Firefox verwendettransmission
für diesen Typ, undwebrtc
funktioniert nicht. transmission
Nicht standardisiert-
Das Synonym für
webrtc
, das in Firefox verwendet werden soll.
video
-
Konfigurationsobjekt für eine Video-Medienquelle. Es hat die folgenden Eigenschaften:
contentType
-
String, der einen gültigen Video-MIME-Typ enthält und optional einen
codecs
Parameter. width
-
Die Breite des Videos.
height
-
Die Höhe des Videos.
bitrate
-
Die Anzahl der Bits, die verwendet werden, um eine Sekunde der Videodatei zu kodieren.
framerate
-
Die Anzahl der Frames, die eine Sekunde der Videowiedergabe bilden.
audio
-
Konfigurationsobjekt für eine Audio-Medienquelle. Es hat die folgenden Eigenschaften:
contentType
-
String, der einen gültigen Audio-MIME-Typ enthält und optional einen
codecs
Parameter. channels
-
Die Anzahl der Kanäle, die von der Audiospur verwendet werden.
bitrate
-
Die Anzahl der Bits, die verwendet werden, um eine Sekunde der Audiodatei zu codieren.
samplerate
-
Die Anzahl der Audiodaten, die eine Sekunde der Audiodatei ausmachen.
Rückgabewert
Ein Promise
, das mit einem Objekt mit drei booleschen Attributen erfüllt wird:
supported
-
true
, wenn der Medieninhalt überhaupt codiert werden kann. Andernfalls ist esfalse
. smooth
-
true
, wenn die Wiedergabe der Medien reibungslos (von hoher Qualität) sein wird. Andernfalls ist esfalse
. powerEfficient
-
true
, wenn die Wiedergabe der Medien energieeffizient sein wird. Andernfalls ist esfalse
.
Browser melden eine unterstützte Medienkonfiguration als smooth
und powerEfficient
, bis auf diesem Gerät Statistiken aufgezeichnet wurden. Alle unterstützten Audiocodecs werden als energieeffizient gemeldet.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn die an die
encodingInfo()
Methode übergebeneconfiguration
ungültig ist, was aus einem der folgenden Gründe sein kann:- der Typ ist weder Video noch Audio,
- der
contentType
ist kein gültiger Codec-MIME-Typ, - es gibt einen anderen Fehler in der an die Methode übergebenen Medienkonfiguration, einschließlich des Weglassens eines der
configuration
-Elemente.
Beispiele
//Create media configuration to be tested
const mediaConfig = {
type: "record", // or 'transmission'
video: {
contentType: "video/webm;codecs=vp8.0", // valid content type
width: 1920, // width of the video
height: 1080, // height of the video
bitrate: 120000, // number of bits used to encode 1s of video
framerate: 48, // number of frames making up that 1s.
},
};
// check support and performance
navigator.mediaCapabilities.encodingInfo(mediaConfig).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.`);
});
Spezifikationen
Specification |
---|
Media Capabilities # ref-for-dom-mediacapabilities-encodinginfo |
Browser-Kompatibilität
BCD tables only load in the browser