2016-09-26 39 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
相关问题