白菜 发表于 2024-1-25 09:49:33

高拍仪本地调试没有问题,发布后报错???

$("").empty();
$("").append("<video id='video' width='400' height='300'></video>");

$("").empty();
$("").append(" <canvas id='canvas' width='1920' height='1280'></canvas>");

//访问用户媒体设备的兼容方法
    function getUserMedia(constraints, success, error) {
      if (navigator.mediaDevices.getUserMedia) {
      //最新的标准API
      navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);
      } else if (navigator.webkitGetUserMedia) {
      //webkit核心浏览器
      navigator.webkitGetUserMedia(constraints,success, error)
      } else if (navigator.mozGetUserMedia) {
      //firfox浏览器
      navigator.mozGetUserMedia(constraints, success, error);
      } else if (navigator.getUserMedia) {
      //旧版API
      navigator.getUserMedia(constraints, success, error);
      }
    }
    function success(stream) {
      //兼容webkit核心浏览器
      let CompatibleURL = window.URL || window.webkitURL;
      //将视频流设置为video元素的源
      console.log(stream);

      //video.src = CompatibleURL.createObjectURL(stream);
      video.srcObject = stream;
      video.play();
    }

    function error(error) {
      console.log(`访问用户媒体设备失败${error.name}, ${error.message}`);
    }

if (navigator.mediaDevices.getUserMedia || navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia) {
      //调用用户媒体设备, 访问摄像头
      getUserMedia({video : {width: 1920, height: 1280}}, success, error);
    } else {
      alert('不支持访问用户媒体');
    }











Grayson.Shang 发表于 2024-1-25 09:49:34

问题跟进:问题已解,应用发布到服务器上之后,不能调起摄像头的原因是,发布的应用是通过IP加特定端口发布的,浏览器禁止了该IP对于接口的调用,所以不行。


后面参考这个帖子,问题解决
https://blog.csdn.net/wen_binobject/article/details/88822424

Lay.Li 发表于 2024-1-25 16:43:23

本帖最后由 Lay.Li 于 2024-1-25 16:49 编辑

您好,您的js文件是放在哪儿的呢
是在这里添加的链接么,可能是服务器中无法访问到这个链接导致的哈:'(



吴小胖 发表于 2024-1-25 16:44:54

Lay.Li 发表于 2024-1-25 16:43
您好,您的js文件是放在哪儿的呢
是在这里添加的链接么,可能是服务器中午饭访问到这个链接导致的哈

...

可能是服务器中午饭访问到这个链接导致的哈那晚饭访问可以吗?;P

Lay.Li 发表于 2024-1-25 16:50:16

哈哈,打错字了,感谢小胖老师提醒{:3_54:}
页: [1]
查看完整版本: 高拍仪本地调试没有问题,发布后报错???