MediaStreamTrack: enabled 属性
enabled 属性是 MediaStreamTrack 接口的一个布尔值,如果该轨道允许渲染源流,则为 true;否则为 false。这可用于有意静音一个轨道。
当轨道启用时,其数据将从源输出到目标;否则,将输出空帧。
对于音频而言,禁用的轨道会生成静音帧(即,所有样本值均为 0 的帧)。对于视频轨道,每帧将完全填充黑色像素。
本质上,enabled 的值代表了普通用户对轨道静音状态的认知,而 muted 属性则表示轨道暂时无法输出数据的状态,例如在传输过程中丢失帧的场景。
注意: 如果轨道已被断开连接,则可以更改此属性的值,但这将不起作用。
值
当 true 时,enabled 表示轨道被允许将其实际媒体渲染到输出。当 enabled 被设置为 false 时,轨道仅生成空帧。
空音频帧的每个样本值都设置为 0。空视频帧的每个像素都设置为黑色。
注意: 在实现静音/取消静音功能时,您应该使用 enabled 属性。
用法说明
如果 MediaStreamTrack 代表来自摄像头的视频输入,通过将 enabled 设置为 false 来禁用该轨道,同时也会更新设备活动指示器,以显示摄像头当前未在录制或流式传输。例如,在 iMac 和 MacBook 电脑上,摄像头旁边的绿色“正在使用”指示灯会在轨道被这样静音时关闭。
示例
此示例演示了一个用于暂停按钮的 click 事件处理程序。
js
pauseButton.onclick = (evt) => {
const newState = !myAudioTrack.enabled;
pauseButton.innerHTML = newState ? "▶️" : "⏸️";
myAudioTrack.enabled = newState;
};
这会创建一个变量 newState,其值为 enabled 当前值的相反,然后使用该值来选择“播放”图标的表情符号字符或“暂停”图标的字符,作为暂停按钮元素的新的 innerHTML。
最后,保存 enabled 的新值,使更改生效。
规范
| 规范 |
|---|
| 媒体捕获和流 # dom-mediastreamtrack-enabled |
浏览器兼容性
加载中…