• 12-04-2022, 16:52:47
    #1
    Merhaba hocalarım, qr kod okutmak için instascan kullanıyorum lakin telefondan girince ön kamera açılıyor arka kameraya bir türlü geçiremedim.

    Instascan.Camera.getCameras().then(function (cameras) {
          if (cameras.length > 0) {
             scanner.start(cameras[1]);
    1-2-3-0 falan hepsini yazmayı denedim ama arka kameraya dönmüyor. Sitede kamera açılınca da canlı yayın çerçevesi çıkıyor, kamera döndürme butonu vs de yok. Çözemedim bir türlü yardımcı olur musunuz? Birde ön kameradan qr kodu okutunca telefondan illa bir yerlere basmak zorunda kalıyoruz ama pcden yapınca otomatik olarak kapanıyor.

    Düzenleme: Android telefonumdan denedim ve sorunsuz çalıştı lakin iphone telefonumdan deniyorum. Üstteki sonuçları alıyorum bilgisi olan hocalarım yardım ederse sevinirim.

    genel js kodları :

    $('.btn').click(function () {
        $('.result').val("QR Kod Okutunuz");
        let scanner = new Instascan.Scanner({mirror: false, video: document.getElementById('preview') });
        scanner.addListener('scan', function (content) {
            $('#qrCodeModal').modal('hide');
            $('.result').val(content);
            //$('#sendCode').close();
            scanner.stop();
        });
        Instascan.Camera.getCameras().then(function (cameras) {
          if (cameras.length > 0) {
             scanner.start(cameras[1]);
          } else {
             $('.qr-scan').html('<h5>Nenhuma câmera encontrada.</h5>');
          }
        }).catch(function (e) {
            $('.qr-scan').html('<h5>Erro.</h5>');
            console.error(e);
        });
        $('#qrCodeModal').modal('show');
    });
  • 30-12-2022, 16:30:43
    #2
    Çok geç oldu ama belki ihtiaycı olan biri olablir diye yazıyorum
    İnstascan tüüm telefon modellerinde çalışır

       let scanner = new Instascan.Scanner({
       
       video: document.getElementById('preview'),
      
       continuous: true,
       mirror: false,
       
       captureImage: false,
       backgroundScan: true,
     
       refractoryPeriod: 1000,
    
       scanPeriod: 2
    });
    
    scanner.addListener('scan', function (content, image) {
     
     var sipno = content;
            var islem = "qrsorgu";
            $.post("ajax.php",{sipno:sipno,islem:islem},function(gonderVeri){
                                   $('#sonuc').html(gonderVeri);
                  
                     }); 
      
    });
    
    let cameraList = []; 
    
    Instascan.Camera.getCameras().then(function (cameras) {
      
       this.cameraList = cameras;
       cameras.forEach(element => {
          
          let cameraList = document.getElementById("cameras");
          let option = document.createElement("option");
          option.text = element.id;
          option.value = element.id;
          cameraList.add(option);
          scanner.start(cameras[0])
       });
    }).catch(() => console.error(e));
    
    document.getElementById("cameras").addEventListener("change", event => {
      
       scanner.start(this.cameraList.find(c => c.id == event.target.value));
    })