グーグルは、ブラックコミュニティのための人種的資本を進めてまいります。 どのように参照してください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

メディアのキャプチャと制約

どのようにアクセス、カメラやマイクなどの映像と音声を、捕捉することができるハードウェアだけでなくどのようにメディアへのWebRTCカバーのメディア部分は、仕事をストリーミングします。また、アプリケーションは、画面キャプチャを行うことができる方法であるディスプレイ媒体を、カバーしています。

メディアデバイス

ブラウザでサポートされているすべてのカメラやマイクにアクセスして管理されているnavigator.mediaDevicesオブジェクト。多くのカメラとmicrohponesは、USBを介して接続し、アプリケーションのライフサイクルの間に接続して切断することができるので、アプリケーションは、接続されたデバイスの現在のリストを取得し、また変化を聞くことができます。メディアデバイスの状態はいつでも変更することができますので、アプリケーションが適切に変更を処理するために、デバイスの変更のために登録することをお勧めします。

制約

メディアデバイスにアクセスする場合、可能な限り詳細な制約条件として提供することをお勧めします。それは、単純な制約とデフォルトのカメラとマイクを開くことが可能であるが、それはアプリケーションに最適なから遠いメディアストリームを配信する可能性があります。

具体的な制約がで定義されているMediaTrackConstraintオブジェクト、オーディオとビデオのための1つに1つ。このオブジェクトの属性は、型であるConstraintLongConstraintBooleanConstraintDoubleまたはConstraintDOMString 。これらは、いずれかの特定の値(例えば、数値、ブール値または文字列)、(範囲とすることができるLongRange又はDoubleRange最小値と最大値を有する)、またはいずれかとオブジェクトideal又はexact定義。特定の値の場合は、ブラウザができるだけ近いものを選ぶしようとします。範囲については、その範囲内の最高値が使用されます。場合はexact指定されている、まさにその制約に一致する唯一のメディアストリームが返されます。

近く

 // 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現在適用されています。

私たちが呼び出すことで、開かれているメディアデバイスからトラックの制約を更新することも可能であるapplyConstraints()トラック上を。これは、最初の既存のストリームをクローズすることなく、再構成したメディアデバイスアプリケーションをすることができます。

表示媒体

画面キャプチャや記録を行うことができるように望んでいるアプリケーションが表示メディアAPIを使用する必要があります。機能getDisplayMedia()の一部である( navigator.mediaDevices同様であるgetUserMedia()と、窓などのディスプレイ(またはその一部)のコンテンツを開くために使用される。返さMediaStream動作します使用時と同じgetUserMedia()

制約getDisplayMedia()通常のビデオまたはオーディオ入力に使用するものとは異なります。

 {
    video: {
        cursor: 'always' | 'motion' | 'never',
        displaySurface: 'application' | 'browser' | 'monitor' | 'window'
    }
}
 

スクリーンの録音のための特別な制約がどのように機能するかを示して上記のコードsnipet。これらは、表示媒体をサポートしているすべてのブラウザでサポートされない場合がありますので注意してください。

ストリームとトラック

A MediaStreamトラック(で構成されたメディアコンテンツのストリーム表しMediaStreamTrackオーディオとビデオのを)。あなたはすべてのトラックから取得することができMediaStream呼び出すことによってMediaStream.getTracks()の配列を返し、 MediaStreamTrackオブジェクトを。

MediaStreamTrack

A MediaStreamTrack有するkindのいずれかであるプロパティaudiovideo 、それが表すメディアの種類を示します。各トラックは、そのトグルでミュートすることができますenabledプロパティを。トラックは、ブールプロパティ有するremoteそれはによって供給された場合を示しRTCPeerConnectionとリモートピアから到来します。