相关疑难解决方法(0)

WebRTC/getUserMedia:如何正确静音本地视频?

我正在尝试实现MediaStreamTrack在WebRTC应用程序中静音本地视频的功能.这是我接近这个的方式:

function muteVideo() {
  if (this._localStream && this._localStream.getVideoTracks().length > 0) {
    this._localStream.getVideoTracks()[0].enabled = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

在Firefox中,<video>正确连接本地流的元素会在静音时呈现黑度.在Chrome中,黑色不会呈现,但图片会冻结.但是,在这两种浏览器中,相机的绿灯仍然亮着,这显然是不受欢迎的行为.(我希望我的用户看到应用程序在视频静音时实际上摄像头断开连接.)

如果我这样做this._localStream.stop(),相机的指示灯会熄灭,但音频也会响起.

Media Capture规范的当前草案提到了这种MediaStreamTrack.stop()方法,但目前在Chrome和Firefox中似乎没有实现.

那么有没有办法静音本地视频,同时:

  1. 使相机的指示灯熄灭
  2. 不丢失音轨?

webrtc getusermedia

7
推荐指数
2
解决办法
5934
查看次数

标签 统计

getusermedia ×1

webrtc ×1