title | short-title | slug | l10n | ||
---|---|---|---|---|---|
MediaCapabilities: encodingInfo() メソッド |
encodingInfo() |
Web/API/MediaCapabilities/encodingInfo |
|
{{APIRef("Media Capabilities API")}}
encodingInfo()
は {{domxref("MediaCapabilities")}} インターフェイスのメソッドで、確認されたメディア構成のエンコード方式の能力を履行するプロミスを返します。
これには、端末がメディアの種類とどの程度互換性があるかを記述する 3 つの論理値プロパティ、supported
、smooth
、powerefficient
があります。
encodingInfo(configuration)
-
configuration
-
:
type
プロパティと、適切な型の構成を格納するvideo
またはaudio
プロパティを持つオブジェクトです。-
type
-
: 検査対象のメディアの種類。これは 2 つの値のうちの 1 つを取ります。
record
- : メディアの録画構成を表します。例えば、{{domxref("MediaRecorder")}}を使用します。
webrtc
- : 電子的手段で送信されることを意味している構成を表します(例えば、{{domxref("RTCPeerConnection")}}を使用)。 メモ: Firefox ではこの型に
transmission
を使用しており、webrtc
は動作しません。
- : 電子的手段で送信されることを意味している構成を表します(例えば、{{domxref("RTCPeerConnection")}}を使用)。 メモ: Firefox ではこの型に
transmission
{{non-standard_inline}}- : Firefox で使用する
webrtc
の同義語。
- : Firefox で使用する
-
-
video
-
: 動画メディアソースの構成オブジェクト。 これは、以下のプロパティを持ちます。
contentType
- : 有効な動画の MIME タイプ、および(オプションで)
codecs
引数の入った文字列です。
- : 有効な動画の MIME タイプ、および(オプションで)
width
- : 映像の幅です。
height
- : 映像の高さです。
bitrate
- : 動画ファイルの 1 秒をエンコードするために使用するビット数。
framerate
- : 動画再生の 1 秒を構成するフレーム数。
-
-
audio
-
: 音声メディアソースの構成オブジェクト。 これは、以下のプロパティを持ちます。
contentType
- : 有効な音声の MIME タイプ、および(オプションで)
codecs
引数の入った文字列です。
- : 有効な音声の MIME タイプ、および(オプションで)
channels
- : 音声トラックが使用するチャンネル数。
bitrate
- : 音声ファイルの 1 秒をエンコードするのに用いるビット数。
samplerate
- : 音声ファイルの 1 秒を構成する音声サンプルの数。
-
-
-
{{jsxref('Promise')}} で、以下の論理値属性を持つオブジェクトで履行されます。
supported
- : メディアコンテンツがすべてエンコードできる場合は
true
。そうでない場合はfalse
。
- : メディアコンテンツがすべてエンコードできる場合は
smooth
- : メディアの再生がスムーズ(高品質)に行われる場合は
true
、そうでない場合はfalse
です。
- : メディアの再生がスムーズ(高品質)に行われる場合は
powerEfficient
- : メディアの再生が電力効率的であれば
true
、そうでなければfalse
です。
- : メディアの再生が電力効率的であれば
ブラウザーは、この端末の統計情報が記録されるまで、対応しているメディア構成をsmooth
および powerEfficient
と報告します。
対応している音声コーデックはすべて電力効率が良いと報告されます。
- {{jsxref("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 ? "います" : "いません"}。`);
});
{{Specifications}}
{{Compat}}
- {{domxref("MediaCapabilities.decodingInfo()")}}