WebRTC のメディアに関する部分では、キャプチャ可能なハードウェアにアクセスする方法を扱います。 カメラやマイクといった動画や音声、およびメディア ストリームの 説明します。また、ディスプレイ メディアについても説明します。ディスプレイ メディアは、アプリが 作成します。
メディア デバイス
ブラウザでサポートされているすべてのカメラとマイクにアクセスし、
navigator.mediaDevices オブジェクトを介して管理します。アプリケーションは
接続されているデバイスの現在のリストを取得し、多くの
カメラやマイクロフォンは USB で接続します。
アプリケーションのライフサイクル中に切断されます。メディアの状態は
デバイスはいつでも変更できます。そのため、アプリケーション
デバイスの変更を適切に処理する必要があります。
制約
メディア デバイスにアクセスする際は、可能な限り詳細な 必要があります。デフォルトのカメラを開いて 使用できる場合、伝送されるメディア ストリームが 最適な選択肢から選ばれます
特定の制約は、MediaTrackConstraint オブジェクトで定義されます。
1 つは音声用でもう 1 つは動画用ですこのオブジェクトの属性は
ConstraintLong、ConstraintBoolean、ConstraintDouble または
ConstraintDOMString。これらの値は特定の値(数値、
ブール値または文字列)、範囲(LongRange または DoubleRange と
最大値など)、ideal または exact 定義を持つオブジェクトを指定できます。1 つの
ブラウザはできるだけ近い値を選択しようとします。
範囲には、その範囲内の最適な値が使用されます。exact が次と一致する場合
指定した場合、その制約と完全に一致するメディア ストリームのみが
返されます。
Near
// Camera with a resolution as close to 640x480 as possible
{
"video": {
"width": 640,
"height": 480
}
}
範囲
// Camera with a resolution in the range 640x480 to 1024x768
{
"video": {
"width": {
"min": 640,
"max": 1024
},
"height": {
"min": 480,
"max": 768
}
}
}
完全一致
// Camera with the exact resolution of 1024x768
{
"video": {
"width": {
"exact": 1024
},
"height": {
"exact": 768
}
}
}
メディア ストリームの特定のトラックの実際の設定を確認するには、
MediaStreamTrack.getSettings() を呼び出すことができます。これにより、
MediaTrackSettings が現在適用されています。
トラックの制約を、Google が作成したメディア デバイスから更新することもできます。
開かれている間は、トラックの applyConstraints() を呼び出します。これにより、
アプリがメディア デバイスを再構成する際に、メディア デバイスを
ストリーミングできます
ディスプレイ メディア
画面のキャプチャと録画を実行する必要があるアプリケーション
Display Media API を使用する必要があります関数 getDisplayMedia()(
navigator.mediaDevices は getUserMedia() に類似しており、
ディスプレイのコンテンツ(またはディスプレイの一部、
表示されます。返される MediaStream は、
getUserMedia()。
getDisplayMedia() の制約は、通常の制約に使用されるものとは異なります。
入力できます。
{
video: {
cursor: 'always' | 'motion' | 'never',
displaySurface: 'application' | 'browser' | 'monitor' | 'window'
}
}
上記のコード スニペットは、画面の録画に対する特別な制約を示しています。 機能します。ディスプレイを搭載した一部のブラウザでは、これらの操作に対応していない場合があります。 メディア サポート。
ストリームとトラック
MediaStream は、トラックで構成されるメディア コンテンツのストリームを表します。
(MediaStreamTrack)音声と動画。すべてのトラックは
MediaStream.getTracks() を呼び出して MediaStream します。これにより、
MediaStreamTrack オブジェクト。
MediaStreamTrack
MediaStreamTrack の kind プロパティが audio または video である。
表すメディアの種類を指定します。各トラックをミュートするには、
enabled プロパティ。トラックに、ブール値のプロパティ remote が
それが RTCPeerConnection をソースとし、リモートピアからのものである場合。