---
title: MediaStream
slug: Web/API/MediaStream
tags:
- API
- Interface
- Media Streams API
- MediaStream
- Reference
- WebRTC
- インターフェイス
translation_of: Web/API/MediaStream
---
{{APIRef("Media Capture and Streams")}}
MediaStream
インターフェイスは、メディアコンテンツのストリームを表します。ストリームは動画や音声など複数のトラックから成ります。それぞれのトラックは {{domxref("MediaStreamTrack")}} のインスタンスとして定義されます。 MediaStream オブジェクトを取得するには、コンストラクターを使用するか {{domxref("MediaDevices.getUserMedia()")}} を呼び出すかします。
ユーザーエージェントによってはこのインターフェイスを {{domxref("CanvasCaptureMediaStream")}} のようにサブクラス化して、より詳細な情報や機能を提供しています。
コンストラクター
- {{domxref("MediaStream.MediaStream", "MediaStream()")}}
- 新しい MediaStream オブジェクトを作成して返します。空のストリーム、既存のストリームに基づいたストリーム、 ({{domxref("MediaStreamTrack")}} オブジェクトの配列として指定して) 特定のトラックのリストを含むストリームを作成することができます。
プロパティ
このインターフェイスは親である {{domxref("EventTarget")}} からプロパティを継承しています。
- {{domxref("MediaStream.active")}} {{readonlyinline}}
- 論理値で、
true
は MediaStream
がアクティブな時、 false
はそうでない場合です。
- {{domxref("MediaStream.ended")}} {{readonlyInline}} {{obsolete_inline()}}
- 論理値で、ストリームの終わりに達した場合は
true
に設定されます。これは仕様書から削除されました。代わりに再生が終了したことを書くにしたい場合は、代わりに再生が終了したことを確認したいトラックの {{domxref("MediaStreamTrack.readyState")}} の値をチェックして確認してください。
- {{domxref("MediaStream.id")}} {{readonlyInline}}
- {{domxref("DOMString")}} で36文字のオブジェクトの汎用一意識別子 (UUID) を表す文字列が入ります。
イベントハンドラー
- {{domxref("MediaStream.onaddtrack")}}
- {{event("Event_handlers", "event handler")}} で、新しい {{domxref("MediaStreamTrack")}} オブジェクトが追加され、 {{domxref("MediaStream/addtrack_event", "addtrack")}} イベントが発生したときに実行される動作です。
- {{domxref("MediaStream.onremovetrack")}}
- {{event("Event_handlers", "event handler")}} で、 {{domxref("MediaStreamTrack")}} オブジェクトが削除され、 {{domxref("MediaStream/removetrack_event", "removetrack")}} イベントが発生したときに実行される動作です。
メソッド
このインターフェイスは親である {{domxref("EventTarget")}} からメソッドを継承しています。
- {{domxref("MediaStream.addTrack()")}}
- 引数で指定された {{domxref("MediaStreamTrack")}} のコピーを格納します。トラックが既に
MediaStream
オブジェクトに追加されていた場合は、何も起こりません。
- {{domxref("MediaStream.clone()")}}
MediaStream
オブジェクトの複製を返します。ただし、複製は固有の {{domxref("MediaStream.id", "id")}} の値を持ちます。
- {{domxref("MediaStream.getAudioTracks()")}}
- {{domxref("MediaStreamTrack")}} オブジェクトのリストで、
MediaStream
オブジェクトに格納されているものの中で kind
属性が audio
に設定されているものを返します。順序は未定義であり、ブラウザーによって異なるばかりでなく、呼び出し毎に異なる可能性もあります。
- {{domxref("MediaStream.getTrackById()")}}
- 引数
trackid
で与えられた ID を持つトラックを返します。引数が与えられなかった場合や、その ID を持つトラックが存在しなかった場合は、 null
を返します。複数のトラックが同じ ID を持っている場合は、最初の一つを返します。
- {{domxref("MediaStream.getTracks()")}}
- {{domxref("MediaStreamTrack")}} オブジェクトのリストで、
MediaStream
オブジェクトに格納されているものをすべて、 kind
属性の値に関わらず返します。順序は未定義であり、ブラウザーによって異なるばかりでなく、呼び出し毎に異なる可能性もあります。
- {{domxref("MediaStream.getVideoTracks()")}}
- {{domxref("MediaStreamTrack")}} オブジェクトのリストで、
MediaStream
オブジェクトに格納されているものの中で kind
属性が video
に設定されているものを返します。順序は未定義であり、ブラウザーによって異なるばかりでなく、呼び出し毎に異なる可能性もあります。
- {{domxref("MediaStream.removeTrack()")}}
- 引数として与えられた {{domxref("MediaStreamTrack")}} を除去します。もしトラックが MediaStream オブジェクトの一部として登録されていなかったり、トラックが終了状態(最後まで到達している場合)だと、INVALID_STATE_RAISE が発生します。
イベント
- {{domxref("MediaStream/addtrack_event", "addtrack")}}
- 新しい {{domxref("MediaStreamTrack")}} オブジェクトが追加されたときに発生します。
{{domxref("MediaStream/onaddtrack", "onaddtrack")}} プロパティから利用することもできます。
- {{domxref("MediaStream/removetrack_event", "removetrack")}}
- {{domxref("MediaStreamTrack")}} オブジェクトが削除されたときに発生します。
{{domxref("MediaStream/onremovetrack", "onremovetrack")}} プロパティから利用することもできます。
仕様書
仕様書 |
状態 |
備考 |
{{SpecName('Media Capture', '#dom-mediastream', 'MediaStream')}} |
{{Spec2('Media Capture')}} |
|
ブラウザーの互換性
{{Compat("api.MediaStream")}}
関連情報