【问题标题】:How to stop / pause webcamera如何停止/暂停网络摄像头
【发布时间】:2021-01-16 01:45:06
【问题描述】:

我需要从具有本地视频的浏览器选项卡中关闭对网络摄像头的访问。我将其用于视频会议应用程序,需要暂停本地视频

    async getUserMedia() {
    if (navigator.getUserMedia) {
      try {
        let constraints;
          constraints = { 'video': true, 'audio': true };
          const stream = await navigator.mediaDevices.getUserMedia(constraints);
          this.localStream = stream;
          this.localVideo = document.getElementById('localVideo');
          this.localVideo.srcObject = stream;
      } catch (err) {
        console.error('Error getting user media.', err);
      }
    }

    else {
      console.log('Your browser does not support getUserMedia API');
    }
  }

我试过了,但它只是停止了视频,并且无法再次与用户联系

    export async function camera(e) {
  var stream = localVideo.srcObject;
  var tracks = stream.getTracks();

  for (var i = 0; i < tracks.length; i++) {
    var track = tracks[i];
    track.stop();
  }

  localVideo.srcObject = null;
}

【问题讨论】:

  • 向我们展示您的尝试。
  • @IanKemp,我尝试过使用stream.stop(),但现在似乎无法正常工作。我尝试更改 constraints = { 'video': false, 'audio': true }; 的值,但它只是停止向客户端显示提要,但仍将提要发送给其他用户
  • 我已经更新了我使用的选项

标签: javascript html angular typescript webrtc


【解决方案1】:

使用

//for disable
  for (var i = 0; i < tracks.length; i++) {
    var track = tracks[i];
    track.enabled = false;
  }

//for enable

  for (var i = 0; i < tracks.length; i++) {
    var track = tracks[i];
    track.enabled = false;
  }

【讨论】:

    猜你喜欢
    • 2016-11-20
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2022-06-19
    • 2013-02-14
    • 1970-01-01
    相关资源
    最近更新 更多