使用getUserMedia方法调用本地摄像头,怎么关闭呢?

我使用navigator.mediaDevices.getUserMedia()方法打开了本地摄像头,拍完照后需要关闭,但怎么关掉呢?求助...

阅读 17.4k
5 个回答
stream.getTracks()[0].stop();

stream是getUserMedia onSuccess回调中的实例

可参考文档

navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
      var track = stream.getTracks()[0];  // if only one media track
        // ...
       track.stop();
}).catch(function(err) {
  /* handle the error */
});

var mediaStreamTrack;
//启动摄像头
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {

                navigator.mediaDevices.getUserMedia({
                    video: true,
                    audio: false
                }).then(function (stream) {
                    mediaStreamTrack = stream;
                    video.src = (window.URL || window.webkitURL).createObjectURL(stream);
                    video.play();
                }).catch(function (err) {
                    console.log(err);
                });
            }
            

//关闭摄像头

mediaStreamTrack.getTracks().forEach(function (track) {

                track.stop();
            });
            
新手上路,请多包涵

// 获取视频容器元素
var video = document.getElementById('video');
video.pause();
video.src = "";
localstream.getTracks()[0].stop();

stream.getTracks().forEach(function (track) {
  track.stop();
});
推荐问题