高拍仪本地调试没有问题,发布后报错???
$("").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('不支持访问用户媒体');
}
问题跟进:问题已解,应用发布到服务器上之后,不能调起摄像头的原因是,发布的应用是通过IP加特定端口发布的,浏览器禁止了该IP对于接口的调用,所以不行。
后面参考这个帖子,问题解决
https://blog.csdn.net/wen_binobject/article/details/88822424
本帖最后由 Lay.Li 于 2024-1-25 16:49 编辑
您好,您的js文件是放在哪儿的呢
是在这里添加的链接么,可能是服务器中无法访问到这个链接导致的哈:'(
Lay.Li 发表于 2024-1-25 16:43
您好,您的js文件是放在哪儿的呢
是在这里添加的链接么,可能是服务器中午饭访问到这个链接导致的哈
...
可能是服务器中午饭访问到这个链接导致的哈那晚饭访问可以吗?;P
哈哈,打错字了,感谢小胖老师提醒{:3_54:}
页:
[1]