MediaStreamTrack: enabled 属性
基线 广泛可用
此功能已经相当成熟,并且在许多设备和浏览器版本上都能正常运行。它自 2017 年 9 月.
报告反馈
The enabled
属性是 MediaStreamTrack
接口的一个布尔值,如果允许跟踪渲染源流,则为 true
,否则为 false
。这可用于有意静音跟踪。
当启用时,跟踪数据将从源输出到目标;否则,将输出空帧。
对于音频,禁用的跟踪会生成静音帧(即每个样本的值都为 0 的帧)。对于视频跟踪,每帧都完全填充黑色像素。
实质上,enabled
的值代表典型用户对跟踪静音状态的理解,而 muted
属性则指示跟踪暂时无法输出数据的状态,例如帧在传输过程中丢失的场景。
值
注意: 如果跟踪已断开连接,则可以更改此属性的值,但不会产生任何影响。
当 true
时,enabled
表示允许跟踪将其实际媒体渲染到输出。当 enabled
设置为 false
时,跟踪只会生成空帧。
空音频帧的每个样本值都设置为 0。空视频帧的每个像素都设置为黑色。
使用说明
注意: 在实现静音/取消静音功能时,应使用 enabled
属性。
示例
如果 MediaStreamTrack
代表来自摄像头的视频输入,则通过将 enabled
设置为 false
来禁用跟踪也会更新设备活动指示器,以表明摄像头当前未录制或流式传输。例如,iMac 和 MacBook 计算机中摄像头旁边的绿色“正在使用”指示灯会在此方式静音跟踪期间关闭。
此示例演示了暂停按钮的
click
事件处理程序。pauseButton.onclick = (evt) => {
const newState = !myAudioTrack.enabled;
pauseButton.innerHTML = newState ? "▶️" : "⏸️";
myAudioTrack.enabled = newState;
};
js
这将创建一个变量 newState
,该变量是 enabled
当前值的相反值,然后使用它选择“播放”图标的 Emoji 字符或“暂停”图标的字符作为暂停按钮元素的新 innerHTML
。
规范
最后,将保存 enabled 的新值,使更改生效。 |
---|
规范 # 媒体捕获和流 |
浏览器兼容性
dom-mediastreamtrack-enabled