MediaStreamTrack

Baseline 广泛可用 *

此功能已成熟,可跨多种设备和浏览器版本使用。自 2017 年 9 月以来,它已在浏览器中提供。

* 此特性的某些部分可能存在不同级别的支持。

MediaStreamTrack 接口是 Media Capture and Streams API 的一部分,代表流中的单个媒体轨道;通常,这些是音频或视频轨道,但也可能存在其他轨道类型。

一些用户代理会继承此接口,以提供更精确的信息或功能,例如 CanvasCaptureMediaStreamTrack

EventTarget MediaStreamTrack

实例属性

除了下面列出的属性之外,MediaStreamTrack 还有可约束的属性,可以使用 applyConstraints() 设置,并使用 getConstraints()getSettings() 访问。请参阅 功能、约束和设置,了解如何正确处理可约束的属性。不正确地操作将导致代码不可靠。

MediaStreamTrack.contentHint

一个字符串,Web 应用程序可以使用它来提供轨道所包含内容的类型提示,以指导 API 消费者如何处理它。允许的值取决于 MediaStreamTrack.kind 属性的值。

MediaStreamTrack.enabled

一个布尔值,如果轨道已启用(允许渲染媒体源流),则其值为 true;如果已禁用(不渲染媒体源流,而是静音和黑屏),则其值为 false。如果轨道已断开连接,则可以更改此值,但不再起作用。

注意:您可以通过将 enabled 设置为 false 来实现标准的“静音”功能。muted 属性指的是由于技术问题而没有媒体的情况。

MediaStreamTrack.id 只读

返回一个包含轨道唯一标识符(GUID)的字符串;它由浏览器生成。

MediaStreamTrack.kind 只读

如果轨道是音频轨道,则返回设置为 "audio" 的字符串;如果轨道是视频轨道,则返回 "video" 的字符串。如果轨道与源分离,则不会更改。

MediaStreamTrack.label 只读

返回一个用户代理分配的标识轨道源的字符串,例如 "internal microphone"。该字符串可以为空,并且在没有连接源时为空。当轨道与源分离时,标签不会改变。

MediaStreamTrack.muted 只读

返回一个布尔值,指示轨道是否因技术问题而无法提供媒体数据。

注意:您可以通过将 enabled 设置为 false 来实现标准的“静音”功能,并通过将其再次设置为 true 来取消媒体静音。

MediaStreamTrack.readyState 只读

返回一个枚举字符串,表示轨道的状态。它将是以下值之一:

  • "live" 表示已连接输入,并且正在尽最大努力提供实时数据。在这种情况下,可以使用 enabled 属性来打开或关闭数据输出。
  • "ended" 表示输入不再提供数据,并且永远不会提供新数据。

实例方法

MediaStreamTrack.applyConstraints()

允许应用程序指定 MediaStreamTrack 的任意数量的可约束属性的理想值和/或可接受值的范围。

MediaStreamTrack.clone()

返回 MediaStreamTrack 的副本。

MediaStreamTrack.getCapabilities()

返回一个对象,详细说明与 MediaStreamTrack 关联的每个可约束属性的可接受值或值范围。

MediaStreamTrack.getConstraints()

返回一个 MediaTrackConstraints 对象,其中包含当前为轨道设置的约束;返回值与使用 applyConstraints() 最后设置的约束匹配。

MediaStreamTrack.getSettings()

返回一个 MediaTrackSettings 对象,其中包含 MediaStreamTrack 的每个可约束属性的当前值。

MediaStreamTrack.stop()

停止播放与轨道关联的源,源和轨道都将断开连接。轨道状态将设置为 ended

事件

使用 addEventListener() 或将事件监听器分配给此接口的 oneventname 属性来监听这些事件

ended

当轨道播放结束时(当 readyState 的值更改为 ended 时)发送到 MediaStreamTrack,除非轨道是通过调用 MediaStreamTrack.stop 来结束的。

mute

muted 属性的值更改为 true 时发送到 MediaStreamTrack,表明轨道暂时无法提供数据(例如,当网络出现服务故障时)。

unmute

当数据再次可用时发送到轨道,结束 muted 状态。

规范

规范
媒体捕获和流
# mediastreamtrack

浏览器兼容性

另见