MediaCapabilities: encodingInfo() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年4月.
encodingInfo() は MediaCapabilities インターフェイスのメソッドで、確認されたメディア構成のエンコード方式の能力を履行するプロミスを返します。
これには、端末がメディアの種類とどの程度互換性があるかを記述する 3 つの論理値プロパティ、supported、smooth、powerefficient があります。
構文
encodingInfo(configuration)
引数
configuration-
typeプロパティと、適切な型の構成を格納するvideoまたはaudioプロパティを持つオブジェクトです。type-
検査対象のメディアの種類。これは 2 つの値のうちの 1 つを取ります。
record-
メディアの録画構成を表します。例えば、
MediaRecorderを使用します。 webrtc-
電子的手段で送信されることを意味している構成を表します(例えば、
RTCPeerConnectionを使用)。 メモ: Firefox ではこの型にtransmissionを使用しており、webrtcは動作しません。 transmission非標準-
Firefox で使用する
webrtcの同義語。
video-
動画メディアソースの構成オブジェクト。 これは、以下のプロパティを持ちます。
audio-
音声メディアソースの構成オブジェクト。 これは、以下のプロパティを持ちます。
contentType-
有効な音声の MIME タイプ、および(オプションで)
codecs引数の入った文字列です。 channels-
音声トラックが使用するチャンネル数。
bitrate-
音声ファイルの 1 秒をエンコードするのに用いるビット数。
samplerate-
音声ファイルの 1 秒を構成する音声サンプルの数。
返値
Promise で、以下の論理値属性を持つオブジェクトで履行されます。
supported-
メディアコンテンツがすべてエンコードできる場合は
true。そうでない場合はfalse。 smooth-
メディアの再生がスムーズ(高品質)に行われる場合は
true、そうでない場合はfalseです。 powerEfficient-
メディアの再生が電力効率的であれば
true、そうでなければfalseです。
ブラウザーは、この端末の統計情報が記録されるまで、対応しているメディア構成をsmooth および powerEfficient と報告します。
対応している音声コーデックはすべて電力効率が良いと報告されます。
例外
TypeError-
encodingInfo()メソッドに渡されたconfigurationが不正な場合に発生します。これは、以下の理由の内のいずれかに起因する可能性が考えられます。- 型が映像または音声ではない。
contentTypeが有効なコーデックの MIME タイプではありません。- メソッドに渡すメディア構成に、
configuration要素が省略されているなど、その他のエラーがある場合。
例
//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.
},
};
// サポートとパフォーマンスを確認する
navigator.mediaCapabilities.encodingInfo(mediaConfig).then((result) => {
console.log(
`この構成には対応して${result.supported ? "おり" : "おらず"}、`,
);
console.log(`円滑で${result.smooth ? "あり" : "なく"}、`);
console.log(`電力効率に優れて${result.powerEfficient ? "います" : "いません"}。`);
});
仕様書
| Specification |
|---|
| Media Capabilities> # dom-mediacapabilities-encodinginfo> |
ブラウザーの互換性
Loading…