aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/mediastream/index.html
blob: 049ea4a3f936e0797fa583dd8c395e49e637be7f (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
---
title: 媒体流(MediaStream)
slug: Web/API/MediaStream
translation_of: Web/API/MediaStream
---
<div>{{APIRef("Media Capture and Streams")}}</div>

<div><span class="seoSummary"><strong><code>MediaStream</code></strong><strong> </strong>接口是一个媒体内容的流.。一个流包含几个<em>轨道</em>,比如视频和音频轨道。</span></div>

<h2 id="属性">属性</h2>

<dl>
</dl>

<dl>
 <dt>{{domxref("MediaStream.active")}} {{readonlyinline}}</dt>
 <dd>布尔型。如果这个流处于活动状态值为true,反之为false</dd>
 <dt>{{domxref("MediaStream.ended")}} {{readonlyInline}}{{obsolete_inline()}}</dt>
 <dd>布尔型。如果 {{event("ended (MediaStream)", "ended")}} 事件在这个对象上触发了,也就是说这个流已经被完全读取,值为true。 如果还没有到达这个流的尾部,值为false。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.id")}} {{readonlyInline}}</dt>
 <dd>这是一个包含36个字符的 {{domxref("DOMString")}} ,用来作为这个对象的唯一标识符 (GUID) 。</dd>
</dl>

<h3 id="事件处理">事件处理</h3>

<dl>
 <dt>{{domxref("MediaStream.onaddtrack")}}</dt>
 <dd>这是{{event("addtrack")}}事件在这个对象上触发时调用的事件处理器[{{domxref("EventHandler")}}],这时一个{{domxref("MediaStreamTrack")}}对象被添加到这个流。</dd>
 <dt>{{domxref("MediaStream.onended")}}</dt>
 <dd>这是当流终止[{{event("ended (MediaStream)","ended")}}]时触发的事件。</dd>
 <dt>{{domxref("MediaStream.onremovetrack")}}</dt>
 <dd>这是{{event("removetrack")}}事件在这个对象上触发事调用的事件处理器[{{domxref("EventHandler")}}],这时一个对象从流上移除。</dd>
</dl>

<h2 id="方法">方法</h2>

<dl>
 <dt>{{domxref("MediaStream.addTrack()")}}</dt>
 <dd>存储传入参数 {{domxref("MediaStreamTrack")}} 的一个副本。如果这个轨道已经被添加到了这个媒体流,什么也不会发生; 如果目标轨道为“完成”状态(也就是已经到尾部了),一个<span style="font-family: consolas,monaco,andale mono,monospace;">INVALID_STATE_RAISE异常会产生。</span></dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.clone()")}}</dt>
 <dd>返回这个<code style="font-style: normal;">MediaStream对象的克隆版本。返回的版本会有一个新的ID。</code></dd>
 <dd>返回给定ID的轨道。如果没有参数或者没有指定ID的轨道,将返回null。如果有几个轨道有同一个ID,将返回第一个。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.getTracks()")}}</dt>
 <dd>返回流中所有的{{domxref("MediaStreamTrack")}}列表。</dd>
</dl>

<dl>
 <dt><span style="line-height: 1.572;">{{domxref("MediaStream.getAudioTracks()")}}</span></dt>
 <dd>返回流中kind属性为"audio"的{{domxref("MediaStreamTrack")}}列表。顺序是不确定的,不同浏览器间会有不同,每次调用也有可能不同。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.getTrackById()")}}</dt>
 <dd>返回给定ID的轨道。如果没有参数或者没有指定ID的轨道,将返回null。如果有几个轨道有同一个ID,将返回第一个。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.getVideoTracks()")}}</dt>
 <dd>返回流中kind属性为"video"的{{domxref("MediaStreamTrack")}}列表。顺序是不确定的,不同浏览器间会有不同,每次调用也有可能不同。</dd>
</dl>

<dl>
 <dt>{{domxref("MediaStream.removeTrack()")}}</dt>
 <dd>移除作为参数传入的 {{domxref("MediaStreamTrack")}}。 如果这个轨道不在<code style="font-size: 14px;">MediaStream对象中什么也不会发生;</code> 如果目标轨道为“完成”状态,一个<span style="font-family: consolas,monaco,andale mono,monospace;">INVALID_STATE_RAISE异常会产生。</span></dd>
</dl>

<h2 id="说明">说明</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">说明</th>
   <th scope="col">状态</th>
   <th scope="col">评论</th>
  </tr>
  <tr>
   <td>{{SpecName('Media Capture', '#mediastream', 'MediaStream')}}</td>
   <td>{{Spec2('Media Capture')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="浏览器支持情况">浏览器支持情况</h2>

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

<h2 id="相关内容">相关内容</h2>

<ul>
 <li>Using the MediaStream API</li>
</ul>