在Android中的Nexus 4中使用Flash_ON捕获黑色图像

时间:2014-04-25 08:16:45

标签: camera

我在android中使用自定义相机。当我使用Flash_ON捕捉图像时,图像在Nexus 4中几乎是黑色的。但是它在其他设备上很好。请帮助我。

我的代码如下: -

    CameraInfo cameraInfo = new CameraInfo();
    Camera.getCameraInfo(cameraId, cameraInfo);
    Camera.Parameters parameters = camera.getParameters();

    Size bestPreviewSize = determineBestPreviewSize(parameters);
    Size bestPictureSize = determineBestPictureSize(parameters);
    mSize = bestPreviewSize;
    parameters.setPreviewSize(bestPreviewSize.width,.setPreviewSize(bestPreviewSize.width,  
    parameters.setPictureSize(bestPictureSize.width, bestPictureSize.height);

    if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
    } else {
        parameters.setFlashMode(Parameters.FLASH_MODE_ON);
        parameters.setSceneMode(Parameters.SCENE_MODE_AUTO);
        parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
    }

    camera.setParameters(parameters);

1 个答案:

答案 0 :(得分:2)

只需更改您需要设置的参数值,如下所示

parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);

Flash应自动关闭。如果它没有,则在快门回叫中手动关闭

ShutterCallback shutterCallback = new ShutterCallback() {

    @Override
    public void onShutter() {
        try {
            Parameters params = camera.getParameters();
            params.setFlashMode(Parameters.FLASH_MODE_OFF);
            camera.setParameters(params);
        } catch (Exception e) {
        }
    }
};