MediaStreamTrack
MediaStreamTrack
是 媒体捕获和流 API 的一个接口,它表示流中的单个媒体轨道;通常,这些是音频或视频轨道,但也可能存在其他轨道类型。
某些用户代理会对该接口进行子类化,以提供更精确的信息或功能,例如 CanvasCaptureMediaStreamTrack
。
实例属性
除了下面列出的属性外,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.stop
结束的。 mute
-
当
muted
属性的值更改为true
时,发送到MediaStreamTrack
,表示轨道暂时无法提供数据(例如,网络遇到服务故障时)。 unmute
-
当数据再次可用时发送到轨道,结束
muted
状态。
规范
规范 |
---|
媒体捕获和流 # mediastreamtrack |
浏览器兼容性
BCD 表格仅在浏览器中加载