我正在尝试使用webRTC实现切换视频功能。请参考以下代码:
<video id="remote" autoPlay></video>
<button onclick="toggleVideo()">Toggle video</button>
let localVideo = document.querySelector('#local');
const toggleVideo = () => {
localVideo.srcObject.getVideoTracks()[0].enabled = !localVideo.srcObject.getVideoTracks()[0].enabled
}
这将关闭Firefox中的视频和摄像头指示器,但不会关闭chrome中的摄像头指示器。 Chrome仅关闭视频。
根据MDN文档
如果MediaStreamTrack表示从摄像机输入的视频,则通过将其设置为false来禁用轨道,还会更新设备活动指示符,以显示该摄像机当前不在录制或正在流式传输。例如,当以这种方式将轨道静音时,iMac和MacBook计算机中的摄像头旁边的绿色“正在使用”指示灯将熄灭。
MDN docs 还有其他解决方法吗?