From 40191d18c07f9b06f7b6c11a71ebf839b73029c6 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 17 Aug 2024 17:48:18 +0900 Subject: [PATCH 1/2] =?UTF-8?q?2024/07/19=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=96=B0=E8=A6=8F=E7=BF=BB=E8=A8=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mediacapabilities/encodinginfo/index.md | 117 ++++++++++++++---- 1 file changed, 93 insertions(+), 24 deletions(-) diff --git a/files/ja/web/api/mediacapabilities/encodinginfo/index.md b/files/ja/web/api/mediacapabilities/encodinginfo/index.md index 1d862bcf3c6a29..2224650fc46a96 100644 --- a/files/ja/web/api/mediacapabilities/encodinginfo/index.md +++ b/files/ja/web/api/mediacapabilities/encodinginfo/index.md @@ -1,46 +1,117 @@ --- -title: MediaCapabilitiesInfo +title: "MediaCapabilities: encodingInfo() メソッド" +short-title: encodingInfo() slug: Web/API/MediaCapabilities/encodingInfo +l10n: + sourceCommit: 7b565c5f4610bea19c844f35532853624d87cde3 --- {{APIRef("Media Capabilities API")}} -[Media Capabilities API](/ja/docs/Web/API/Media_Capabilities_API) の **`MediaCapabilitiesInfo`** インターフェイスは、{{domxref("MediaCapabilities")}} インターフェイスの {{domxref("MediaCapabilities.encodingInfo()")}} メソッドまたは {{domxref("MediaCapabilities.decodingInfo()")}} メソッドによって返される promise が満たされると使用可能になり、メディアタイプがサポートされているかどうかや、そのようなメディアのエンコードまたはデコードがスムーズで電力効率が良いかどうかに関する情報を提供します。 +**`encodingInfo()`** は {{domxref("MediaCapabilities")}} インターフェイスのメソッドで、確認されたメディア構成のエンコード方式の能力を履行するプロミスを返します。 +これには、端末がメディアの種類とどの程度互換性があるかを記述する 3 つの論理値プロパティ、`supported`、`smooth`、`powerefficient` があります。 -## プロパティ +## 構文 -`MediaCapabilitiesInfo` インターフェイスには、次の 3 つの Boolean 属性が含まれています。 +```js-nolint +encodingInfo(configuration) +``` + +### 引数 + +- `configuration` + + - : `type` プロパティと、適切な型の構成を格納する `video` または `audio` プロパティを持つオブジェクトです。 + + - `type` + + - : 検査対象のメディアの種類。これは 2 つの値のうちの 1 つを取ります。 + + - `record` + - : メディアの録画構成を表します。例えば、{{domxref("MediaRecorder")}}を使用します。 + - `webrtc` + - : 電子的手段で送信されることを意味している構成を表します(例えば、{{domxref("RTCPeerConnection")}}を使用)。 **メモ:** Firefox ではこの型に `transmission` を使用しており、`webrtc` は動作しません。 + - `transmission` {{non-standard_inline}} + - : Firefox で使用する `webrtc` の同義語。 + + - `video` + + - : 動画メディアソースの構成オブジェクト。 + これは、以下のプロパティを持ちます。 + + - `contentType` + - : 有効な動画の MIME タイプ、および(オプションで)[`codecs` 引数](/ja/docs/Web/Media/Formats/codecs_parameter)の入った文字列です。 + - `width` + - : 映像の幅です。 + - `height` + - : 映像の高さです。 + - `bitrate` + - : 動画ファイルの 1 秒をエンコードするために使用するビット数。 + - `framerate` + - : 動画再生の 1 秒を構成するフレーム数。 + + - `audio` + + - : 音声メディアソースの構成オブジェクト。 + これは、以下のプロパティを持ちます。 + + - `contentType` + - : 有効な音声の MIME タイプ、および(オプションで)[`codecs` 引数](/ja/docs/Web/Media/Formats/codecs_parameter)の入った文字列です。 + - `channels` + - : 音声トラックが使用するチャンネル数。 + - `bitrate` + - : 音声ファイルの 1 秒をエンコードするのに用いるビット数。 + - `samplerate` + - : 音声ファイルの 1 秒を構成する音声サンプルの数。 + +### 返値 + +{{jsxref('Promise')}} で、以下の論理値属性を持つオブジェクトで履行されます。 + +- `supported` + - : メディアコンテンツがすべてエンコードできる場合は `true`。そうでない場合は `false`。 +- `smooth` + - : メディアの再生がスムーズ(高品質)に行われる場合は `true`、そうでない場合は `false` です。 +- `powerEfficient` + - : メディアの再生が電力効率的であれば `true`、そうでなければ `false` です。 + +ブラウザーは、この端末の統計情報が記録されるまで、対応しているメディア構成を`smooth` および `powerEfficient` と報告します。 +対応している音声コーデックはすべて電力効率が良いと報告されます。 -- `supported`: {{domxref("MediaConfiguration")}} で定義されたプロパティを指定すると、指定されたメディアコンテンツをエンコード({{domxref("MediaEncodingConfiguration")}} が設定されている場合)またはデコード({{domxref("MediaDecodingConfiguration")}} が設定されている場合)できますか? はいの場合、`supported` は _true_ になり、そうでない場合、_false_ になります。 -- `smooth`: {{domxref("MediaConfiguration")}} で定義されたプロパティを指定すると、指定されたメディアの再生は高品質になりますか? スムーズになりますか? `supported` が `true` で、再生がスムーズになる場合、`smooth` は _true_ になり、そうでない場合、_false_ になります。 -- `powerEfficient`: {{domxref("MediaConfiguration")}} で定義されたプロパティを指定すると、指定されたメディアの再生は電力効率が良くなりますか? `supported` が `true` で、再生の電力効率が良い場合、`powerEfficient` は _true_ になり、そうでない場合、_false_ になります。 +### 例外 -ブラウザーは、このデバイスの統計情報が記録されるまで、サポートしているメディア構成を `smooth` で `powerEfficient` として報告します。 サポートしているすべての音声コーデックは、電力効率が良いと報告されます。 +- {{jsxref("TypeError")}} + - : `encodingInfo()` メソッドに渡された `configuration` が不正な場合に発生します。これは、以下の理由の内のいずれかに起因する可能性が考えられます。 + - 型が映像または音声ではない。 + - `contentType` が有効なコーデックの MIME タイプではありません。 + - メソッドに渡すメディア構成に、`configuration` 要素が省略されているなど、その他のエラーがある場合。 ## 例 ```js -// テストする {{domxref("MediaConfiguration")}} +//Create media configuration to be tested const mediaConfig = { - type : 'file', - audio : { - contentType : "audio/ogg", - channels : 2, - bitrate : 132700, - samplerate : 5200 - }, + 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.decodingInfo(mediaConfig).then(result => { // result にはメディア能力情報が含まれます - console.log('この構成は、サポート' + - (result.supported ? 'され' : 'されておらず') + 、スムーズ' + // 構成されたメディアは、ユーザーエージェントによってデコードできますか - (result.smooth ? 'であり' : 'でなく') + '、電力効率' + // スムーズですか? - (result.powerEfficient ? 'に優れています' : 'が良くありません') + '。') // 電力効率は良いですか? +navigator.mediaCapabilities.encodingInfo(mediaConfig).then((result) => { + console.log( + `この構成には対応して${result.supported ? "おり" : "おらず"}、`, + ); + console.log(`円滑で${result.smooth ? "あり" : "なく"}、`); + console.log(`電力効率に優れて${result.powerEfficient ? "います" : "いません"}。`); }); ``` -## 仕様 +## 仕様書 {{Specifications}} @@ -50,6 +121,4 @@ navigator.mediaCapabilities.decodingInfo(mediaConfig).then(result => { // result ## 関連情報 -- {{domxref("MediaConfiguration")}} -- {{domxref("MediaCapabilities.encodingInfo()")}} - {{domxref("MediaCapabilities.decodingInfo()")}} From 8ac7c926c69166b40e3e1d78ecc8271934628ddd Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 17 Aug 2024 19:54:51 +0900 Subject: [PATCH 2/2] Update index.md --- files/ja/web/api/mediacapabilities/encodinginfo/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/ja/web/api/mediacapabilities/encodinginfo/index.md b/files/ja/web/api/mediacapabilities/encodinginfo/index.md index 2224650fc46a96..094a98c9c2fea7 100644 --- a/files/ja/web/api/mediacapabilities/encodinginfo/index.md +++ b/files/ja/web/api/mediacapabilities/encodinginfo/index.md @@ -88,7 +88,7 @@ encodingInfo(configuration) ## 例 -```js +```js-nolint //Create media configuration to be tested const mediaConfig = { type: "record", // or 'transmission'