2016-09-26 41 views
0

我想用HTML5做一個應用程序,幷包含拍攝照片系統。我只是包含一個代碼來顯示相機:在webview(Android)中更改背部照相機

mWebView.setWebChromeClient(new WebChromeClient() { 
       @Override 
       public void onPermissionRequest(final PermissionRequest request) { 
        KioskActivity.this.runOnUiThread(new Runnable(){ 
         @TargetApi(Build.VERSION_CODES.LOLLIPOP) 
         @Override 
         public void run() { 
          request.grant(request.getResources()); 
         }// run 
        });// MainActivity 
       }// onPermissionRequest 
      });// setWebChromeClient 

但總是顯示一個正面相機,我需要一個背部相機。你能幫我嗎?謝謝。 :)

+0

對不起,我沒有你的問題的答案。但是,如果你能告訴我如何讓相機工作,我將不勝感激。你能訪問我的問題:http://stackoverflow.com/q/40659198/2135363 ..謝謝 –

回答

1

使用MediaDevices.enumerateDevices()確定後置攝像頭:

navigator.mediaDevices.enumerateDevices().then(function(devices) { 
    var cameras = []; 
    devices.forEach(function(device) { 
    'videoinput' === device.kind && cameras.push(device.deviceId); 
    }); 
    // On my devices: 
    // - cameras[0] - front camera; 
    // - cameras[1] - back camera; 
    var constraints = {video: {deviceId: {exact: cameras[1]}}}; 
    navigator.mediaDevices.getUserMedia(constraints).then(function(stream) { 
    // Do something with stream. 
    }); 
}); 

也請看一看到MediaTrackConstraints.facingMode

測試在下列設備:

  • 的Mozilla/5.0(Linux的;的Android 7.1.1; 像素構建/ NOF27B; WV)爲AppleWebKit/537.36(KHTML,例如Gecko)版本/ 4.0鉻/ 56.0 Apple WebKit/537.36(KHTML,如Gecko)版本/ 4.0 Chrome/56.0版本/移動Safari/537.36
  • Mozilla/5.0(Linux; Android 6.0.1; MotoG3 Build/MPI24.107-55-2; wv) .2924.87 Mobile Safari/537.36
  • Mozilla/5.0(Linux; Android 6.0.1; Moto G Play Build/MPI24.241-2.35-1; WV)爲AppleWebKit/537.36(KHTML,例如Gecko)版本/ 4.0鉻/ 56.0.2924.87移動Safari/537.36
  • 的Mozilla/5.0(Linux的;的Android 6.0.1; ONE E1005構建/ MMB29M; WV)爲AppleWebKit/537.36 (KHTML,像Gecko)版本/ 4.0 Chrome/55.0.2883.91 Mobile Safari/537.36