Media Capture and Streams APIは一般的にMedia Stream APIやStream APIと呼ばれるWebRTCに関連したAPIです。このAPIでは、オーディオやビデオデータのストリーム、これらを操作するためのメソッド、データタイプに関連づけられた制約、データを非同期に利用する際の成功と失敗のコールバック、これらの処理を行なっている最中に発生するイベントなどをサポートします。
基本概念
このAPIは、オーディオまたはビデオに関連づけられたデータの流れを表現するためのMediaStream
オブジェクトの操作を基本としています。例としてGet the video(英語)をご覧ください。
MediaStream
は0個以上のMediaStreamTrack
によって構成されます。MediaStreamTrack
は様々なオーディオやビデオのトラックを表現します。それぞれのMediaStreamTrack
は、1つ以上のチャンネルを持ちます。このチャンネルはメディアストリームの最小の単位を表現します。例えば、ステレオのオーディオトラックのleftとrightのチャンネルのそれぞれのように、与えられたスピーカーに関連づけられたオーディオ信号です。
MediaStream
オブジェクトは、1つの入力と1つの出力を持ちます。MediaStream
オブジェクトは、ローカルで呼び出されるgetUserMedia()
によって生成され、ユーザーのカメラやマイクの1つを入力ソースとして持ちます。ローカルでないMediaStream
は、<video>
や<audio>
などのメディア要素や、WebRTC RTCPeerConnection
APIによって取得できるネットワーク越しに生成されたストリーム、Web Audio API MediaStreamAudioSourceNode
によって作成されたストリームとして表現されます。MediaStream
オブジェクトの出力はコンシューマ(consumer)に接続されます。出力として<audio>
や<video>
などのメディア要素、WebRTC RTCPeerConnection
API、Web Audio API MediaStreamAudioDestinationNode
が使用できます。
リファレンス
addtrack
(event)AudioStreamTrack
BlobEvent
ended
(event)MediaStream
MediaStreamConstraints
MediaStreamEvent
MediaStreamTrack
MediaStreamTrackEvent
MediaTrackCapabilities
MediaTrackConstraints
MediaTrackSettings
MediaTrackSupportedConstraints
muted
(event)NavigatorUserMedia
NavigatorUserMediaError
overconstrained
(event)removetrack
(event)started
(event)unmuted
(event)URL
VideoStreamTrack
ガイドとチュートリアル
There are no subpages at this time.
ブラウザ互換性
Feature | Chrome | Firefox (Gecko) | Edge | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Stream API | 21webkit | Nightly 18moz | (有) | ? | 12 | 11 |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Stream API | 未サポート | (有) | ? | ? | 未サポート | 11.2 |
現在、ChromeとOpera、Firefox Nightly 18でカメラへアクセスするためにWebRTCを用いることができます。Firefox NightlyでWebRTCを有効にするには、次の設定でフラグを有効にする必要があります。
- アドレスバーに"about:config"を入力して、変更を許可してください。
- "media.navigator.enabled"の項目を探して、trueを設定してください。
関連項目
- WebRTC - APIの入門ページ
mediaDevices.getUserMedia()
- Taking webcam photos:
getUserMedia()
を用いたデモとチュートリアル