通知
本站点除 Legacy 产品与方案外,已迁移至 声网新文档中心 ,当前页面不再维护
文档中心
全部产品
Console 官网 社区 技术支持

为什么网页端禁用自己的视频后摄像头灯还是亮着?

分类: 集成类    平台: Web   最后更新时间: 2023/01/16 23:38:04

问题描述

使用 RTC Web SDK 时,调用 muteVideo 禁用本地视频成功后,摄像头的指示灯仍然亮着。

问题原因

Web SDK 不支持单独开启/关闭采集视频,对本地流调用 muteVideo 实际上是将 MediaStreamTrack.enabled 属性设为 false,调用 muteVideo 后仍会发送视频黑帧,并未关闭视频采集,因此摄像头的指示灯不会熄灭。

解决方案

调用 close 方法关闭本地流可以关闭视频采集,此时摄像头指示灯会熄灭。但是调用 close 方法会同时取消摄像头和麦克风的访问权限,即本地的音频和视频采集都会关闭。这是因为 Web SDK 发布的对象是流,包含音频轨道和视频轨道,因此对流的操作会同时影响音频和视频。

如果想要方便快速地关闭本地视频的采集和发送,而不影响音频功能,我们推荐你使用下一代声网 Web SDK (Web SDK NG)。在下一代 Web SDK 中,发布的对象是音频轨道和视频轨道,因此可以直接关闭 (close) 视频轨道来关闭本地视频的采集和发送,这样摄像头的指示灯也会熄灭。