-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
146 additions
and
0 deletions.
There are no files selected for viewing
73 changes: 73 additions & 0 deletions
73
files/ja/web/api/mediastreamtrack/applyconstraints/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- | ||
title: "MediaStreamTrack: applyConstraints() メソッド" | ||
short-title: applyConstraints() | ||
slug: Web/API/MediaStreamTrack/applyConstraints | ||
l10n: | ||
sourceCommit: 1fc327ab47c4fc89eff6e1d05780babd720e4b13 | ||
--- | ||
|
||
{{APIRef("Media Capture and Streams")}} | ||
|
||
**`applyConstraints()`** は {{domxref("MediaStreamTrack")}} インターフェイスのメソッドで、トラックに一連の制約を適用します。これらの制約により、ウェブサイトやアプリは、フレームレート、サイズ、エコーキャンセルなど、トラックの制約可能なプロパティに対して、理想的な値や受け入れられる範囲を設定することができます。 | ||
|
||
制約を使用することで、メディアが特定のガイドラインを満たすように保証することができます。 | ||
例えば、高密度の動画を推奨しますが、ネットワークに負担をかけないようにデータレートを低く保つためにフレームレートを少し低くする必要があるかもしれません。 | ||
また、理想的なサイズや受け入れられるサイズ、またはその範囲を指定することもできます。 | ||
推奨する制約を適用する方法の詳細については、[能力と制約と設定](/ja/docs/Web/API/Media_Capture_and_Streams_API/Constraints)の[制約の適用](/ja/docs/Web/API/Media_Capture_and_Streams_API/Constraints#制約の適用)を参照してください。 | ||
|
||
## 構文 | ||
|
||
```js-nolint | ||
applyConstraints() | ||
applyConstraints(constraints) | ||
``` | ||
|
||
### 引数 | ||
|
||
- `constraints` {{optional_inline}} | ||
- : トラックの制約可能プロパティに適用する制約を列挙した {{domxref("MediaTrackConstraints")}} です。既存の制約は指定した新しい値で置き換えられ、含まれない制約可能プロパティは既定の制約に戻されます。 | ||
この引数を除外すると、現在設定されているカスタム制約はすべてクリアされます。 | ||
このオブジェクトは、プロミス ({{jsxref("Promise")}}) が解決するために適用しなければならない制約の基本設定を表します。 | ||
このオブジェクトは追加の `MediaTrackConstraints` オブジェクトの配列を含む高度なプロパティを格納することができます。 | ||
|
||
### 返値 | ||
|
||
制約が正常に適用されたときに解決するプロミス ({{jsxref("Promise")}})。制約が適用できない場合、プロミス {{domxref("OverconstrainedError")}} で拒否されます。これは、{{domxref("DOMException")}} に追加引数として `OverconstrainedError` という名前を設定したもので、制約に合うものがなかったことを示します。 | ||
これは、指定する制約が厳しすぎて、トラックを構成しようとしたときに一致するものが見つからなかった場合に発生する可能性があります。 | ||
|
||
## 例 | ||
|
||
次の例では、基本的な制約と高度な制約を設定する方法を示します。 | ||
これは、ページまたはウェブアプリの幅が 640 ~ 1280 の間、高さが 480 ~ 720の間である必要があることを指定します。高度なプロパティではさらに、画像サイズは 1920 x 1280 が推奨され、利用できない場合は 1.333 のアスペクト比を指定します。。なお、これらの制約は、仕様が「バックオフ戦略」と呼んでいるものも参照しています。 | ||
|
||
```js | ||
const constraints = { | ||
width: { min: 640, ideal: 1280 }, | ||
height: { min: 480, ideal: 720 }, | ||
advanced: [{ width: 1920, height: 1280 }, { aspectRatio: 1.333 }], | ||
}; | ||
|
||
navigator.mediaDevices.getUserMedia({ video: true }).then((mediaStream) => { | ||
const track = mediaStream.getVideoTracks()[0]; | ||
track | ||
.applyConstraints(constraints) | ||
.then(() => { | ||
// 画像キャプチャ API を使用するなど、トラックで何かを行う | ||
}) | ||
.catch((e) => { | ||
// 利用できる端末では制約を満たすことができない | ||
}); | ||
}); | ||
``` | ||
|
||
## 仕様書 | ||
|
||
{{Specifications}} | ||
|
||
## ブラウザーの互換性 | ||
|
||
{{Compat}} | ||
|
||
## 関連情報 | ||
|
||
- [MediaStream 画像キャプチャ API](/ja/docs/Web/API/MediaStream_Image_Capture_API) |
73 changes: 73 additions & 0 deletions
73
files/ja/web/api/mediastreamtrack/getcapabilities/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- | ||
title: "MediaStreamTrack: getCapabilities() メソッド" | ||
short-title: getCapabilities() | ||
slug: Web/API/MediaStreamTrack/getCapabilities | ||
l10n: | ||
sourceCommit: 1fc327ab47c4fc89eff6e1d05780babd720e4b13 | ||
--- | ||
|
||
{{APIRef("Media Capture and Streams")}} | ||
|
||
**`getCapabilities()`** は {{domxref("MediaStreamTrack")}} インターフェイスのメソッドで、プラットフォームと{{Glossary("user agent", "ユーザーエージェント")}}に基づいて、各制約されるプロパティの値または値の範囲を指定する `MediaTrackCapabilities` オブジェクトを返します。 | ||
|
||
ブラウザーの能力がわかったら、スクリプトは {{domxref("MediaStreamTrack.applyConstraints", "applyConstraints()")}} を使用して、理想的な設定または受け入れられる設定に一致するようにトラックの構成を要求することができます。制約可能なプロパティを作業する方法の詳細については、[能力と制約と設定](/ja/docs/Web/API/Media_Capture_and_Streams_API/Constraints)を参照してください。 | ||
|
||
## 構文 | ||
|
||
```js-nolint | ||
getCapabilities() | ||
``` | ||
|
||
### 引数 | ||
|
||
なし。 | ||
|
||
### 返値 | ||
|
||
`MediaTrackCapabilities` オブジェクトは、ユーザーエージェントが対応する制約可能なプロパティごとに対応する値または値の範囲を指定し、以下のメンバーを含みます。 | ||
|
||
- `deviceId` | ||
- : [`ConstrainDOMString`](/ja/docs/Web/API/MediaTrackConstraints#constraindomstring) オブジェクトで、機器 ID が入ります。 | ||
- `groupId` | ||
- : [`ConstrainDOMString`](/ja/docs/Web/API/MediaTrackConstraints#constraindomstring) オブジェクトで、グループ ID が入ります。 | ||
- `autoGainControl` | ||
- : [`ConstrainBoolean`](/ja/docs/Web/API/MediaTrackConstraints#constrainboolean) オブジェクトで、ソースが自動ゲイン制御ができるかどうかを報告します。 | ||
この機能がスクリプトで制御できる場合、ソースは true と false の両方を可能な値として報告します。 | ||
- `channelCount` | ||
- : [`ConstrainULong`](/ja/docs/Web/API/MediaTrackConstraints#constrainulong) で、チャンネル数またはチャンネル数の範囲が入ります。 | ||
- `echoCancellation` | ||
- : [`ConstrainBoolean`](/ja/docs/Web/API/MediaTrackConstraints#constrainboolean) オブジェクトで、ソースがエコーキャンセルができるかどうかを報告します。 | ||
この機能がスクリプトで制御できる場合、ソースは true と false の両方を可能な値として報告します。 | ||
- `latency` | ||
- : [`ConstrainDouble`](/ja/docs/Web/API/MediaTrackConstraints#constraindouble) で、レイテンシーまたはレイテンシーの範囲が入ります。 | ||
- `noiseSuppression` | ||
- : [`ConstrainBoolean`](/ja/docs/Web/API/MediaTrackConstraints#constrainboolean) object reporting if the source can do noise suppression. | ||
この機能がスクリプトで制御できる場合、ソースは true と false の両方を可能な値として報告します。 | ||
- `sampleRate` | ||
- : [`ConstrainULong`](/ja/docs/Web/API/MediaTrackConstraints#constrainulong) で、サンプリングレートまたはサンプリングレートの範囲が入ります。 | ||
- `sampleSize` | ||
- : [`ConstrainULong`](/ja/docs/Web/API/MediaTrackConstraints#constrainulong) で、サンプルサイズまたはサンプルサイズの範囲が入ります。 | ||
- `aspectRatio` | ||
- : [`ConstrainDouble`](/ja/docs/Web/API/MediaTrackConstraints#constraindouble) で、映像の{{glossary("aspect ratio", "アスペクト比")}}(幅のピクセル数を高さのピクセル数で割ったもの)またはアスペクト比の範囲が入ります。 | ||
- `facingMode` | ||
- : [`ConstrainDOMString`](/ja/docs/Web/API/MediaTrackConstraints#constraindomstring) オブジェクトで、カメラの向きのモードが入ります。カメラは "left" および "user" のように複数の向きを報告することがあります。 | ||
- `frameRate` | ||
- : [`ConstrainDouble`](/ja/docs/Web/API/MediaTrackConstraints#constraindouble) で、受け入れ可能なフレームレートまたはフレームレートの範囲が入ります。 | ||
- `height` | ||
- : [`ConstrainULong`](/ja/docs/Web/API/MediaTrackConstraints#constrainulong) で、映像のピクセル単位での高さまたは高さの範囲が入ります。 | ||
- `width` | ||
- : [`ConstrainULong`](/ja/docs/Web/API/MediaTrackConstraints#constrainulong) で、映像のピクセル単位での幅または幅の範囲が入ります。 | ||
- `resizeMode` | ||
- : [`ConstrainDOMString`](/ja/docs/Web/API/MediaTrackConstraints#constraindomstring) オブジェクトで、UAが映像トラックの解像度を導き出すために使用できるモード、またはモードの配列が入ります。 | ||
|
||
## 仕様書 | ||
|
||
{{Specifications}} | ||
|
||
## ブラウザーの互換性 | ||
|
||
{{Compat}} | ||
|
||
## 関連情報 | ||
|
||
- {{domxref("InputDeviceInfo.getCapabilities()")}}: `MediaTrackCapabilities` オブジェクトを返す |