如何完全关闭媒体流javascript上的相机

Jaz*_*uly 4 javascript google-chrome webrtc peerjs

我正在尝试创建一个视频会议网络应用程序..

问题是我试图在中间会议上禁用我的相机,它可以工作,但我的笔记本电脑相机指示灯仍然亮着(灯亮着),但在我的网络上,视频显示空白屏幕,这是正常的还是我错过了什么?

这是我尝试的

videoAction() {
  navigator.mediaDevices.getUserMedia({
    video: true,
    audio: true
  }).then(stream => {
     this.myStream = stream
  })

  this.myStream.getVideoTracks()[0].enabled = !(this.myStream.getVideoTracks()[0].enabled)
  this.mediaStatus.video = this.myStream.getVideoTracks()[0].enabled
}
Run Code Online (Sandbox Code Playgroud)

chr*_*din 9

还有一种stop()方法可以在 Chrome 和 Safari 中实现这一目的。Firefox 应该已经通过设置属性将相机标记为未使用enabled

this.myStream.getVideoTracks()[0].stop();
Run Code Online (Sandbox Code Playgroud)


小智 6

我们需要window.localStream = stream;在 navigator.mediaDevices.getUserMedia 方法内部分配

对于停止网络摄像头和 LED 灯关闭。

localStream.getVideoTracks()[0].stop();
video.src = '';