Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web/API/MediaCapabilities/encodingInfo を新規翻訳 #23119

Merged
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 93 additions & 24 deletions files/ja/web/api/mediacapabilities/encodinginfo/index.md
Original file line number Diff line number Diff line change
@@ -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` プロパティを持つオブジェクトです。 <!-- 仕様書上の MediaEncodingConfiguration -->

- `type`

- : 検査対象のメディアの種類。これは 2 つの値のうちの 1 つを取ります。

- `record`
- : メディアの録画構成を表します。例えば、{{domxref("MediaRecorder")}}を使用します。
- `webrtc`
- : 電子的手段で送信されることを意味している構成を表します(例えば、{{domxref("RTCPeerConnection")}}を使用)。 **メモ:** Firefox ではこの型に `transmission` を使用しており、`webrtc` は動作しません。
- `transmission` {{non-standard_inline}}
- : Firefox で使用する `webrtc` の同義語。

- `video`

- : 動画メディアソースの構成オブジェクト。
これは、以下のプロパティを持ちます。 <!-- 仕様書上の VideoConfiguration -->

- `contentType`
- : 有効な動画の MIME タイプ、および(オプションで)[`codecs` 引数](/ja/docs/Web/Media/Formats/codecs_parameter)の入った文字列です。
- `width`
- : 映像の幅です。
- `height`
- : 映像の高さです。
- `bitrate`
- : 動画ファイルの 1 秒をエンコードするために使用するビット数。
- `framerate`
- : 動画再生の 1 秒を構成するフレーム数。

- `audio`

- : 音声メディアソースの構成オブジェクト。
これは、以下のプロパティを持ちます。 <!-- 仕様書上の AudioConfiguration -->

- `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(
mfuji09 marked this conversation as resolved.
Show resolved Hide resolved
`この構成には対応して${result.supported ? "おり" : "おらず"}、`,
mfuji09 marked this conversation as resolved.
Show resolved Hide resolved
);
console.log(`円滑で${result.smooth ? "あり" : "なく"}、`);
console.log(`電力効率に優れて${result.powerEfficient ? "います" : "いません"}。`);
mfuji09 marked this conversation as resolved.
Show resolved Hide resolved
});
```

## 仕様
## 仕様書

{{Specifications}}

Expand All @@ -50,6 +121,4 @@ navigator.mediaCapabilities.decodingInfo(mediaConfig).then(result => { // result

## 関連情報

- {{domxref("MediaConfiguration")}}
- {{domxref("MediaCapabilities.encodingInfo()")}}
- {{domxref("MediaCapabilities.decodingInfo()")}}
Loading