Javascript 使用HTML5/JS的手机后置摄像头
最后,我有了一个工作脚本,它使我能够在桌面和手机上访问相机。但是在手机上,我想主要使用后置摄像头 我尝试了facingMode:environment,但它不起作用 以下是我的链接和代码:Javascript 使用HTML5/JS的手机后置摄像头,javascript,android,html,camera,webcam,Javascript,Android,Html,Camera,Webcam,最后,我有了一个工作脚本,它使我能够在桌面和手机上访问相机。但是在手机上,我想主要使用后置摄像头 我尝试了facingMode:environment,但它不起作用 以下是我的链接和代码: function startcam() { // Grab elements, create settings, etc. var video = document.getElementById('video'); var mediaConfig =
function startcam() {
// Grab elements, create settings, etc.
var video = document.getElementById('video');
var mediaConfig = { video: true };
var errBack = function(e) {
console.log('An error has occurred!', e)
};
// Put video listeners into place
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia(mediaConfig).then(function(stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
});
}
/* Legacy code below! */
else if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(mediaConfig, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(mediaConfig, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // Mozilla-prefixed
navigator.mozGetUserMedia(mediaConfig, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
};
};
startcam();
任何帮助都将不胜感激。这在chrome for android中运行良好
navigator.mediaDevices.getUserMedia({
video: {
facingMode: { exact: "environment" }
}
})
.then(function(stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
});
这在chrome for android中运行良好
navigator.mediaDevices.getUserMedia({
video: {
facingMode: { exact: "environment" }
}
})
.then(function(stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
});
当你说你已经尝试了
facingMode:“environment”
,你是需要它还是更喜欢它?我猜你在跟踪?我会要求的。是的,我尝试过更改mediaConfig,但没有成功:var mediaConfig={video:{facingMode:“environment”};MDN文档说明,如果需要,应该使用var mediaConfig={video:{facingMode:{exact:“environment”}}
。行吗?不行。在仍然使用前置摄像头的移动chrome上,在桌面上甚至没有显示。您是否尝试过直接传递参数而不是作为变量传递?参数可能是作为字符串而不是JSON对象传递的,因此getUserMedia()
方法可能没有接收到任何内容。或者尝试使用JSON.parse()
,看看这是否有帮助。当你说你已经尝试了facingMode:“环境”
,你是需要它还是更喜欢它?我猜你在跟踪?我会要求的。是的,我尝试过更改mediaConfig,但没有成功:var mediaConfig={video:{facingMode:“environment”};MDN文档说明,如果需要,应该使用var mediaConfig={video:{facingMode:{exact:“environment”}}
。行吗?不行。在仍然使用前置摄像头的移动chrome上,在桌面上甚至没有显示。您是否尝试过直接传递参数而不是作为变量传递?参数可能是作为字符串而不是JSON对象传递的,因此getUserMedia()
方法可能没有接收到任何内容。或者尝试使用JSON.parse()
,看看这是否有帮助。另外,在IOS中的Safari中。另外,在IOS中的Safari中。