diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/mediastream | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/zh-cn/web/api/mediastream')
-rw-r--r-- | files/zh-cn/web/api/mediastream/active/index.html | 59 | ||||
-rw-r--r-- | files/zh-cn/web/api/mediastream/clone/index.html | 43 | ||||
-rw-r--r-- | files/zh-cn/web/api/mediastream/getaudiotracks/index.html | 78 | ||||
-rw-r--r-- | files/zh-cn/web/api/mediastream/gettracks/index.html | 65 | ||||
-rw-r--r-- | files/zh-cn/web/api/mediastream/id/index.html | 99 | ||||
-rw-r--r-- | files/zh-cn/web/api/mediastream/index.html | 101 | ||||
-rw-r--r-- | files/zh-cn/web/api/mediastream/mediastream/index.html | 59 |
7 files changed, 504 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/mediastream/active/index.html b/files/zh-cn/web/api/mediastream/active/index.html new file mode 100644 index 0000000000..904001fd9c --- /dev/null +++ b/files/zh-cn/web/api/mediastream/active/index.html @@ -0,0 +1,59 @@ +--- +title: active +slug: Web/API/MediaStream/active +tags: + - 参考 + - 媒体流 + - 属性 + - 接口 + - 活动 +translation_of: Web/API/MediaStream/active +--- +<p>{{APIRef("Media Capture and Streams")}}</p> + +<p><strong><code>active</code></strong> 是 {{domxref("MediaStream")}} 接口的只读属性,返回布尔值,如果媒体流当前为活动状态时,返回 <code>true</code> ,否则返回 <code>false</code>。 至少有一条 {{domxref("MediaStreamTrack")}} 的媒体流不是{{domxref("MediaStreamTrack.ended")}} 状态时才认为是 <strong>活动的</strong> 。当所有轨道关闭时,媒体流的属性置为 <code>false。</code></p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">var <em>isActive</em> = <em>MediaStream</em>.active;</pre> + +<h3 id="Value">Value</h3> + +<p>布尔值,当媒体流当前为活动状态时为 <code>true</code> ; 否则为 <code>false</code>.</p> + +<h2 id="样例">样例</h2> + +<p>在这个例子中,使用{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}}请求源为用户本地摄像机和麦克风的一条新流,当流可用时(即满足返回的{{jsxref("Promise")}}),根据该流当前是否处于活动状态来更新页面上的按钮。</p> + +<pre class="brush: js">var promise = navigator.mediaDevices.getUserMedia({ + audio: true, + video: true +}); + +promise.then(function(stream) { + var startBtn = document.querySelector('#startBtn'); + startBtn.disabled = stream.active; +};)</pre> + +<h2 id="规格">规格</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('Media Capture', '#dom-mediastream-active', 'active')}}</td> + <td>{{Spec2('Media Capture')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容">浏览器兼容</h2> + + + +<p>{{Compat("api.MediaStream.active")}}</p> diff --git a/files/zh-cn/web/api/mediastream/clone/index.html b/files/zh-cn/web/api/mediastream/clone/index.html new file mode 100644 index 0000000000..664ea6ffc6 --- /dev/null +++ b/files/zh-cn/web/api/mediastream/clone/index.html @@ -0,0 +1,43 @@ +--- +title: MediaStream.clone() +slug: Web/API/MediaStream/clone +translation_of: Web/API/MediaStream/clone +--- +<p>{{APIRef("Media Capture and Streams")}}</p> + +<p>The <strong><code>clone()</code></strong> method of the {{domxref("MediaStream")}} interface creates a duplicate of the <code>MediaStream</code>. This new <code>MediaStream</code> object has a new unique {{domxref("MediaStream.id", "id")}} and contains clones of every {{domxref("MediaStreamTrack")}} contained by the <code>MediaStream</code> on which <code>clone()</code> was called.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">var <em>stream</em> = <em>MediaStream</em>.clone();</pre> + +<h3 id="Parameters">Parameters</h3> + +<p>None.</p> + +<h3 id="Return_value">Return value</h3> + +<p>A new {{domxref("MediaStream")}} instance which has a new unique ID and contains clones of every {{domxref("MediaStreamTrack")}} contained by the <code>MediaStream</code> on which <code>clone()</code> was called.</p> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('Media Capture', '#widl-MediaStream-clone-MediaStream', 'MediaStream.clone()')}}</td> + <td>{{Spec2('Media Capture')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + + + +<p>{{Compat("api.MediaStream.clone")}}</p> diff --git a/files/zh-cn/web/api/mediastream/getaudiotracks/index.html b/files/zh-cn/web/api/mediastream/getaudiotracks/index.html new file mode 100644 index 0000000000..4c7bb6dad1 --- /dev/null +++ b/files/zh-cn/web/api/mediastream/getaudiotracks/index.html @@ -0,0 +1,78 @@ +--- +title: MediaStream.getAudioTracks() +slug: Web/API/MediaStream/getAudioTracks +tags: + - API + - getAudioTracks + - 媒体 + - 媒体流 + - 媒体流 API + - 媒体流轨道 + - 方法 + - 轨道 + - 音频 +translation_of: Web/API/MediaStream/getAudioTracks +--- +<p>{{APIRef("Media Capture and Streams")}}</p> + +<p>{{domxref("MediaStream")}} 接口下的 <strong><dfn><code>getAudioTracks()</code></dfn></strong> 方法会返回一个包含 <code><a href="https://www.w3.org/TR/mediacapture-streams/#track-set">track set</a></code> 流中所有 {{domxref("MediaStreamTrack.kind")}} 为 <code>audio</code> 的 {{domxref("MediaStreamTrack")}} 对象序列。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">var <em>mediaStreamTracks</em> = <em>mediaStream</em>.getAudioTracks()</pre> + +<h3 id="参数">参数</h3> + +<p>无</p> + +<h3 id="返回值">返回值</h3> + +<p>{{domxref("MediaStreamTrack")}} 对象数组,包含流中所有的音轨。音轨的 {{domxref("MediaStreamTrack.kind", "kind")}} 值为 <code>audio</code> 。如果流中不包含音轨,则数组为空。</p> + +<div class="note"> +<p><strong>注意</strong>:数组中返回的顺序并不是由规范定义的,事实上,每次调用 <code>getAudioTracks()</code> 的结果都可能有所不同。</p> +</div> + +<p>更早版本的本API中,包含一个用做列表中每个音频类型的 <code>AudioStreamTrack</code> 接口;现在已被合并至 {{domxref("MediaStreamTrack")}} 主接口中。</p> + +<h2 id="示例">示例</h2> + +<p><font><font>本示例使用 </font></font>{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} <font><font>获取视频流中的网络摄像机的音频和视频,并将媒体流绑定到 </font></font>{{HTMLElement("video")}} <font><font>元素,然后设置一个计时器,计时器到期时会停止在该媒体流中找到的第一个音轨。</font></font></p> + +<pre class="brush: js">navigator.mediaDevices.getUserMedia({audio: true, video: true}) +.then(mediaStream => { + document.querySelector('video').srcObject = mediaStream; + // Stop the audio stream after 5 seconds + setTimeout(() => { + const tracks = mediaStream.getAudioTracks() + tracks[0].stop() + }, 5000) +}) +</pre> + +<h2 id="说明">说明</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-getaudiotracks','getAudioTracks()')}}</td> + <td>{{Spec2('Media Capture')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<div class="hidden"> +<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> +</div> + +<p>{{Compat("api.MediaStream.getAudioTracks")}}</p> diff --git a/files/zh-cn/web/api/mediastream/gettracks/index.html b/files/zh-cn/web/api/mediastream/gettracks/index.html new file mode 100644 index 0000000000..c47d48473b --- /dev/null +++ b/files/zh-cn/web/api/mediastream/gettracks/index.html @@ -0,0 +1,65 @@ +--- +title: MediaStream.getTracks() +slug: Web/API/MediaStream/getTracks +tags: + - 参考 + - 媒体流 + - 媒体流 API + - 媒体轨道 + - 方法 +translation_of: Web/API/MediaStream/getTracks +--- +<p>{{APIRef("Media Capture and Streams")}}{{SeeCompatTable}}</p> + +<p>{{domxref("MediaStream")}} 接口的<strong><dfn><code>getTracks()</code></dfn></strong> 方法会返回一个包含 <code><a href="https://www.w3.org/TR/mediacapture-streams/#track-set">track set</a></code> 流中所有 {{domxref("MediaStreamTrack")}} 对象的序列, 序列内容与{{domxref("MediaStreamTrack.kind")}} 无关。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">var <em>mediaStreamTracks</em> = <em>mediaStream</em>.getTracks()</pre> + +<h3 id="参数">参数</h3> + +<p>无</p> + +<h3 id="返回值">返回值</h3> + +<p>{{domxref("MediaStreamTrack")}} 对象的数组</p> + +<h2 id="示例">示例</h2> + +<pre class="brush: js">navigator.mediaDevices.getUserMedia({audio: false, video: true}) +.then(mediaStream => { + document.querySelector('video').srcObject = mediaStream; + // Stop the stream after 5 seconds + setTimeout(() => { + const tracks = mediaStream.getTracks() + tracks[0].stop() + }, 5000) +})</pre> + +<h2 id="说明">说明</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-gettracks','getTracks()')}}</td> + <td>{{Spec2('Media Capture')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器支持情况">浏览器支持情况</h2> + +<div class="hidden"> +<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> +</div> + +<p>{{Compat("api.MediaStream.getTracks")}}</p> diff --git a/files/zh-cn/web/api/mediastream/id/index.html b/files/zh-cn/web/api/mediastream/id/index.html new file mode 100644 index 0000000000..ef5d47c56c --- /dev/null +++ b/files/zh-cn/web/api/mediastream/id/index.html @@ -0,0 +1,99 @@ +--- +title: MediaStream.id +slug: Web/API/MediaStream/id +translation_of: Web/API/MediaStream/id +--- +<p>{{APIRef("WebRTC")}}</p> + +<p><code><strong>MediaStream.id</strong></code> 只读属性,一个包含36个字符的 {{domxref("DOMString")}} ,用来作为这个对象的唯一标识符 (GUID) 。</p> + +<h2 id="Syntax" name="Syntax">语法</h2> + +<pre class="syntaxbox">var <em>id</em> = <em>mediaStream</em>.id; +</pre> + +<h2 id="示例">示例</h2> + +<pre class="brush: js"><code class="language-html">var p = navigator.mediaDevices.getUserMedia({ audio: true, video: true }); + +p.then(function(stream) { + console.log(stream.id); +};) +</code></pre> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('Media Capture', '#widl-MediaStream-id', 'MediaStream.id')}}</td> + <td>{{Spec2('Media Capture')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">浏览器兼容性</h2> + +<p>{{ CompatibilityTable() }}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatUnknown() }}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{ CompatGeckoDesktop(41) }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Edge</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatUnknown() }}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{ CompatGeckoMobile(41) }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="相关链接">相关链接</h2> + +<ul> + <li>{{domxref("MediaStream")}},包含该属性的接口。</li> +</ul> diff --git a/files/zh-cn/web/api/mediastream/index.html b/files/zh-cn/web/api/mediastream/index.html new file mode 100644 index 0000000000..049ea4a3f9 --- /dev/null +++ b/files/zh-cn/web/api/mediastream/index.html @@ -0,0 +1,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> diff --git a/files/zh-cn/web/api/mediastream/mediastream/index.html b/files/zh-cn/web/api/mediastream/mediastream/index.html new file mode 100644 index 0000000000..1775c27fbb --- /dev/null +++ b/files/zh-cn/web/api/mediastream/mediastream/index.html @@ -0,0 +1,59 @@ +--- +title: MediaStream() +slug: Web/API/MediaStream/MediaStream +translation_of: Web/API/MediaStream/MediaStream +--- +<div>{{APIRef("Media Capture and Streams")}}</div> + +<p><span class="seoSummary"> 构造函数<strong><code>MediaStream()</code></strong> 返回新建的 {{domxref("MediaStream")}} 实例,该实例作为媒体流的内容的集合载体,其可能包含多个媒体数据轨,每个数据轨则由一个 {{domxref("MediaStreamTrack")}} 对象表示。如果给出相应参数,在指定的数据轨则被添加到新的流中。否则,该流中不包含任何数据轨。</span></p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox"><var>newStream</var> = new MediaStream(); +<var>newStream</var> = new MediaStream(<var>stream</var>); +<var>newStream</var> = new MediaStream(<var>tracks[]</var>); +</pre> + +<h3 id="参数">参数</h3> + +<dl> + <dt><code><var>stream</var></code></dt> + <dd>这是另一个 {{domxref("MediaStream")}} 对象,其数据轨会被自动添加到新建的流中。且这些数据轨不会从原流中移除,即变成了两条流共享的数据。</dd> + <dt><code><var>tracks</var></code></dt> + <dd>这是 {{domxref("MediaStreamTrack")}} 对象的 {{jsxref("Array")}} 类型的成员,代表了每一个添加到流中的数据轨。</dd> +</dl> + +<h3 id="返回值">返回值</h3> + +<p>新建的 {{domxref("MediaStream")}} 对象,会包含创建时已给的数据轨内容,若没有给定任何数据轨则内容为空。</p> + +<h2 id="参数类别">参数类别</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('Media Capture', '#mediastream', 'MediaStream')}}</td> + <td>{{Spec2('Media Capture')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<div class="hidden">该页面的兼容性列表是由结构化数据生成的。如果你希望完善此数据,请拉取git仓库 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 完善内容后向我们发起推送请求</div> + +<p>{{Compat("api.MediaStream.MediaStream")}}</p> + +<h2 id="也可参考">也可参考</h2> + +<ul> + <li>{{domxref("MediaStream")}}</li> +</ul> |