簡體   English   中英

在移動設備上強制使用后置攝像頭?

[英]Force rear camera on mobile device?

嘗試將Instascan二維碼掃描儀連接到AR.js 一切正常,但是手機的前置攝像頭打開了,切換到后面就不行了。 庫分別與后置攝像頭配合使用並允許您進行切換,並且只有第一個打開。 Chrome瀏覽器不允許你在打開頁面時選擇攝像頭,所以問題是相關的,主要是針對他。

代碼示例: CodepenMediaTrackSettings

<html>
  <head>
    <script src="https://rawgit.com/schmich/instascan-builds/master/instascan.min.js"></script>
    <script src="https://aframe.io/releases/1.0.3/aframe.min.js"></script>
    <script src="https://raw.githack.com/jeromeetienne/AR.js/2.2.2/aframe/build/aframe-ar.js"></script> 
  </head>
  <body>
    <a-scene>
        <a-entity camera></a-entity>
    </a-scene>
 </body>
</html>
// Instascan QR scanner
let scanner = new Instascan.Scanner(
  {
    video: document.getElementById('arjs-video')
  }
);
scanner.addListener('scan', function(content) {
  alert('Content: ' + content);
  window.open(content, "_blank");
});

// Instascan camera switch
Instascan.Camera.getCameras().then(function (cameras) {
  if (cameras.length > 1) {
    scanner.start(cameras[cameras.length - 1]);
  } else {
    scanner.start(cameras[0]);
  }
}).catch(function (e) {
  console.error(e);
});

// MediaTrackSettings
let supports = navigator.mediaDevices.getSupportedConstraints();
if (supports["facingMode"]) {
    alert('Not Support!');
} else {
  let constraints = {
    facingMode: { exact: "environment" }
};
myTrack.applyConstraints(constraints);

這對我有用。 我在 Microsoft Surface 和 Android 手機上對此進行了測試。

        //Detect user's cameras
        Instascan.Camera.getCameras().then(function (cameras) {
            //If a camera is detected
            if (cameras.length > 0) {
                //If the user has a rear/back camera
                if (cameras[1]) {
                    //use that by default
                    scanner.start(cameras[1]);
                } else {
                    //else use front camera
                    scanner.start(cameras[0]);
                }
            } else {
                //if no cameras are detected give error
                console.error('No cameras found.');
            }
        }).catch(function (e) {
            console.error(e);
        });   

我沒有包括 MediaTrackSettings 並且沒有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM