getUserMedia 在 Chrome v50.0.2661.86 上不起作用

getUserMedia not working on Chrome v50.0.2661.86

本文关键字:不起作用 2661 Chrome v50 getUserMedia      更新时间:2023-09-26

我正在尝试使用 getUserMedia 方法来访问我的网络摄像头并使用 clmtrackr (https://github.com/auduno/clmtrackr) 跟踪我的脸。几周前它正在工作,但由于 Chrome 更新到 v50 我遇到了问题,它使用替换视频而不是调用我的网络摄像头。

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
// check for camerasupport
if (navigator.getUserMedia) {
    var videoSelector = {video : true};
    if (window.navigator.appVersion.match(/Chrome'/(.*?) /)) {
        var chromeVersion = parseInt(window.navigator.appVersion.match(/Chrome'/('d+)'./)[1], 10);
        if (chromeVersion < 20) {
            videoSelector = "video";
        }
    };
    navigator.getUserMedia(videoSelector, function( stream ) {
        if (video.mozCaptureStream) {
            video.mozSrcObject = stream;
        } else {
            video.src = (window.URL && window.URL.createObjectURL(stream)) || stream;
        }
        video.play();
    }, function() {
        //it uses this alt video
        insertAltVideo(video);
        alert("There was some problem trying to fetch video from your webcam, using a fallback video instead.");
    });
} else {
    insertAltVideo(video);
    alert("Your browser does not seem to support getUserMedia, using a fallback video instead.");
}

PS :它可以在火狐上随心所欲地工作

提前致谢

navigator.getUserMedia 不再适用于 Chrome(它返回 undefined ),请使用较新的 MediaDevices 界面:

navigator.mediaDevices.getUserMedia(constraints)
  .then(function(stream) {
    var videoTracks = stream.getVideoTracks();
    console.log('Got stream with constraints:', constraints);
    console.log('Using video device: ' + videoTracks[0].label);
    stream.onended = function() {
      console.log('Stream ended');
    };
    window.stream = stream; // make variable available to console
    video.srcObject = stream;
  })
  .catch(function(error) {
    // ...
  }

查看更多:

  • https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
  • https://developers.google.com/web/updates/2015/07/mediastream-deprecations?hl=en
  • https://developers.google.com/web/updates/2015/10/media-devices?hl=en