如何在Android Java中打开前置摄像头

wgx48brx  于 2023-02-14  发布在  Android
关注(0)|答案(1)|浏览(152)

我想打开前置摄像头,此代码打开摄像头但不前置:

Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePicture.putExtra("android.intent.extras.CAMERA_FACING", 1);
startActivityForResult(takePicture, 1);
f1tvaqid

f1tvaqid1#

这段代码用于启动相机应用程序并捕获图像,但不能保证它总是打开前置相机。

takePicture.putExtra("android.intent.extras.CAMERA_FACING", 1);

是尝试指定应使用前置摄像头,但并非所有摄像头应用程序都支持此额外功能。为了确保前置摄像头已打开,您需要使用Android Camera API在自己的代码中处理摄像头访问。
我将在下面分享一个例子:

private Camera camera;
    private int cameraId = 0;
    public void openFrontCamera() {
    
    int numberOfCameras = Camera.getNumberOfCameras();
    for (int i = 0; i < numberOfCameras; i++) {
        Camera.CameraInfo info = new Camera.CameraInfo();
        Camera.getCameraInfo(i, info);
        if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            cameraId = i;
            break;
        }
    }    
    camera = Camera.open(cameraId);

相关问题