繁体   English   中英

Android开放式前置摄像头默认

[英]Android open front camera as default

我需要打开前置摄像头作为我应用程序中的默认摄像头。 如果用户单击该按钮,则必须打开前置摄像头。

在我的代码中,我获取了当前android设备中存在的摄像头数量,如果该设备有两个摄像头,我将获取第二个摄像头的ID并在其中编写一些摄像头逻辑。

请帮我建立这段代码

试试这个代码。 它工作正常:)

private Camera openFrontFacingCameraGingerbread() {
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx<cameraCount; camIdx++) {
    Camera.getCameraInfo(camIdx, cameraInfo);
    if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
        try {
            cam = Camera.open(camIdx);
        } catch (RuntimeException e) {
            Log.e("Your_TAG", "Camera failed to open: " + e.getLocalizedMessage());
        }
    }
}
return cam;
}

在..try中添加androidmanifest xml文件

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />

我使用此代码,它将对您有用:)

Camera c = null;  // object that use
Camera.CameraInfo info = new Camera.CameraInfo();
int count = Camera.getNumberOfCameras();

for (int i = 0; i<cameraCount; i++) {
     Camera.getCameraInfo(i, info);
     if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
     try {
        c = Camera.open(i);
     } catch (RuntimeException e) {
       // Handle
     }
   }
}

只写这行

相机mCamera = null;

mCamera = Camera.open(1); //用于前置摄像头

mCamera = Camera.open(0); //用于后置摄像头

您只应更改此行,

相机mCamera = null;

mCamera = Camera.open(1); //用于前置摄像头

mCamera = Camera.open(0); //用于后置摄像头

暂无
暂无

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

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