6

我正在创建一个 Android 应用程序,它有点像定格动画应用程序,旨在即使在运动过程中也能有效地拍照。我想设置非常低的快门速度和大光圈以获得更好的照片,特别是在相机运动时,但堆栈溢出的一些答案表明我无法设置快门速度和光圈(如果我在这里错了,请纠正我) . 我没有使用相机意图,而是使用 startPreview 创建相机对象,然后是 setCameraParams,然后是 takePicture。

android api中的其他相机参数是什么,我可以设置它们以使其对​​运动中的相机精确有效?我正在设置 SCENE_MODE_SPORTS 并尝试设置 FOCUS_MODE_CONTINUOUS_PICTURE(虽然我的相机不支持测试)。

4

2 回答 2

6

这是您需要的 Android 相机 API 部分的链接:http: //developer.android.com/reference/android/hardware/Camera.Parameters.html

它在你称之为的相机参数中:

    mCamera = camera;
    Camera.Parameters params = mCamera.getParameters();
    params.setRotation(getCameraOrientation());
    params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
    params.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
    mCamera.setParameters(params);

您似乎真正感兴趣的事情是:

setExposureCompensation(int value)
setColorEffect(String value)
setAutoExposureLock(boolean toggle)
getExposureCompensation()

使用时不要忘记解锁自动曝光 :)

您还应该将其设置为自动对焦以像我在示例中所做的那样拍摄照片,闪光灯也会有所帮助,尽管这会使照片之间的时间更长。

于 2013-05-29T20:07:40.080 回答
1

抱歉来晚了,但可能对其他人有帮助

设置光圈/快门速度/iso:

Camera.Parameters 参数 = camera.getParameters();

params.set("mode", "m");

params.set("孔径", "28"); //默认缩放时可以是 28 32 35 40 45 50 56 63 71 80

params.set("快门速度", 9); // 取决于相机,例如。1 表示最长

params.set("iso", 200);

于 2014-12-21T17:26:40.860 回答