aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/mediastream/index.html
blob: e74bc66ded2be2671c8926b0ef645be8540f29a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
title: MediaStream
slug: Web/API/MediaStream
tags:
  - API
  - Interface
  - Media Streams API
  - MediaStream
  - Reference
  - WebRTC
  - インターフェイス
translation_of: Web/API/MediaStream
---
<div>{{APIRef("Media Capture and Streams")}}</div>

<p><span class="seoSummary"><strong><code>MediaStream</code></strong> インターフェイスは、メディアコンテンツのストリームを表します。ストリームは動画や音声など複数の<strong>トラック</strong>から成ります。それぞれのトラックは {{domxref("MediaStreamTrack")}} のインスタンスとして定義されます。</span> MediaStream オブジェクトを取得するには、コンストラクターを使用するか {{domxref("MediaDevices.getUserMedia()")}} を呼び出すかします。</p>

<p>ユーザーエージェントによってはこのインターフェイスを {{domxref("CanvasCaptureMediaStream")}} のようにサブクラス化して、より詳細な情報や機能を提供しています。</p>

<h2 id="Constructor" name="Constructor">コンストラクター</h2>

<dl>
 <dt>{{domxref("MediaStream.MediaStream", "MediaStream()")}}</dt>
 <dd>新しい MediaStream オブジェクトを作成して返します。空のストリーム、既存のストリームに基づいたストリーム、 ({{domxref("MediaStreamTrack")}} オブジェクトの配列として指定して) 特定のトラックのリストを含むストリームを作成することができます。</dd>
</dl>

<h2 id="Properties" name="Properties">プロパティ</h2>

<p><em>このインターフェイスは親である {{domxref("EventTarget")}} からプロパティを継承しています。</em></p>

<dl>
 <dt>{{domxref("MediaStream.active")}} {{readonlyinline}}</dt>
 <dd>論理値で、 <code>true</code><code>MediaStream</code> がアクティブな時、 <code>false</code> はそうでない場合です。</dd>
 <dt>{{domxref("MediaStream.ended")}} {{readonlyInline}} {{obsolete_inline()}}</dt>
 <dd>論理値で、ストリームの終わりに達した場合は <code>true</code> に設定されます。これは仕様書から削除されました。代わりに再生が終了したことを書くにしたい場合は、代わりに再生が終了したことを確認したいトラックの {{domxref("MediaStreamTrack.readyState")}} の値をチェックして確認してください。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.id")}} {{readonlyInline}}</dt>
 <dd>{{domxref("DOMString")}} で36文字のオブジェクトの汎用一意識別子 (UUID) を表す文字列が入ります。</dd>
</dl>

<h3 id="Event_handlers" name="Event_handlers">イベントハンドラー</h3>

<dl>
 <dt>{{domxref("MediaStream.onaddtrack")}}</dt>
 <dd>{{event("Event_handlers", "event handler")}} で、新しい {{domxref("MediaStreamTrack")}} オブジェクトが追加され、 {{domxref("MediaStream/addtrack_event", "addtrack")}} イベントが発生したときに実行される動作です。</dd>
 <dt>{{domxref("MediaStream.onremovetrack")}}</dt>
 <dd>{{event("Event_handlers", "event handler")}} で、 {{domxref("MediaStreamTrack")}} オブジェクトが削除され、 {{domxref("MediaStream/removetrack_event", "removetrack")}} イベントが発生したときに実行される動作です。</dd>
</dl>

<h2 id="Methods" name="Methods">メソッド</h2>

<p><em>このインターフェイスは親である {{domxref("EventTarget")}} からメソッドを継承しています。</em></p>

<dl>
 <dt>{{domxref("MediaStream.addTrack()")}}</dt>
 <dd>引数で指定された {{domxref("MediaStreamTrack")}} のコピーを格納します。トラックが既に <code>MediaStream</code> オブジェクトに追加されていた場合は、何も起こりません。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.clone()")}}</dt>
 <dd><code>MediaStream</code> オブジェクトの複製を返します。ただし、複製は固有の {{domxref("MediaStream.id", "id")}} の値を持ちます。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.getAudioTracks()")}}</dt>
 <dd>{{domxref("MediaStreamTrack")}} オブジェクトのリストで、 <code>MediaStream</code> オブジェクトに格納されているものの中で <code>kind</code> 属性が <code>audio</code> に設定されているものを返します。順序は未定義であり、ブラウザーによって異なるばかりでなく、呼び出し毎に異なる可能性もあります。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.getTrackById()")}}</dt>
 <dd>引数 <code>trackid</code> で与えられた ID を持つトラックを返します。引数が与えられなかった場合や、その ID を持つトラックが存在しなかった場合は、 <code>null</code> を返します。複数のトラックが同じ ID を持っている場合は、最初の一つを返します。</dd>
 <dt>{{domxref("MediaStream.getTracks()")}}</dt>
 <dd>{{domxref("MediaStreamTrack")}} オブジェクトのリストで、 <code>MediaStream</code> オブジェクトに格納されているものをすべて、 <code>kind</code> 属性の値に関わらず返します。順序は未定義であり、ブラウザーによって異なるばかりでなく、呼び出し毎に異なる可能性もあります。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.getVideoTracks()")}}</dt>
 <dd>{{domxref("MediaStreamTrack")}} オブジェクトのリストで、 <code>MediaStream</code> オブジェクトに格納されているものの中で <code>kind</code> 属性が <code>video</code> に設定されているものを返します。順序は未定義であり、ブラウザーによって異なるばかりでなく、呼び出し毎に異なる可能性もあります。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.removeTrack()")}}</dt>
 <dd>引数として与えられた {{domxref("MediaStreamTrack")}} を除去します。もしトラックが MediaStream オブジェクトの一部として登録されていなかったり、トラックが終了状態(最後まで到達している場合)だと、INVALID_STATE_RAISE が発生します。</dd>
</dl>

<h2 id="Events" name="Events">イベント</h2>

<dl>
 <dt>{{domxref("MediaStream/addtrack_event", "addtrack")}}</dt>
 <dd>新しい {{domxref("MediaStreamTrack")}} オブジェクトが追加されたときに発生します。<br>
 {{domxref("MediaStream/onaddtrack", "onaddtrack")}} プロパティから利用することもできます。</dd>
 <dt>{{domxref("MediaStream/removetrack_event", "removetrack")}}</dt>
 <dd>{{domxref("MediaStreamTrack")}} オブジェクトが削除されたときに発生します。<br>
 {{domxref("MediaStream/onremovetrack", "onremovetrack")}} プロパティから利用することもできます。</dd>
</dl>

<h2 id="Specifications" name="Specifications">仕様書</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">仕様書</th>
   <th scope="col">状態</th>
   <th scope="col">備考</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('Media Capture', '#dom-mediastream', 'MediaStream')}}</td>
   <td>{{Spec2('Media Capture')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>

<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>

<p>{{Compat("api.MediaStream")}}</p>

<h2 id="See_also" name="See_also">関連情報</h2>

<ul>
 <li>Using the MediaStream API</li>
 <li><a href="/ja/docs/Web/API/WebRTC_API">WebRTC API</a></li>
 <li><a href="/ja/docs/Web/API/Web_Audio_API">Web Audio API</a></li>
 <li>{{domxref("MediaStreamTrack")}}</li>
</ul>