简体   繁体   English

使用HTML5 / JS的手机后置摄像头

[英]Rear camera on mobile using HTML5 / JS

Finally I have a working script which enables me to access camera both on desktop on mobile. 终于,我有了一个工作脚本,使我能够在移动桌面上访问相机。 However on mobile I would like to use the rear camera primarily. 但是在移动设备上,我想主要使用后置摄像头。

I tried with facingMode: environment, but it doesn't work. 我尝试了FaceingMode:环境,但是它不起作用。

Here is the link to jsfiddle and the code I have: 这是jsfiddle和我拥有的代码的链接:

     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();

Any help would be much appreciated. 任何帮助将非常感激。

This works well in chrome for android 这在适用于Android的Chrome中效果很好

navigator.mediaDevices.getUserMedia({ 
  video: { 
    facingMode: { exact: "environment" }
  } 
})
.then(function(stream) {
  video.src = window.URL.createObjectURL(stream);
  video.play();
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM