以下是我的代码:
private void takeMultiPictures(final int n) {
if (n <= 0) {
ToastUtils.show("Capture Successfully!");
saveMultiPictures();
return;
}
Parameters params = mCamera.getParameters();
int mic = params.getMinExposureCompensation();
int mac = params.getMaxExposureCompensation();
switch (n) {
case 3:
params.setExposureCompensation(mac);
break;
case 2:
params.setExposureCompensation(mic);
break;
case 1:
params.setExposureCompensation(0);
break;
}
mCamera.setParameters(params);
mCamera.takePicture(null, null, null, new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
mMultiPictures.add(data);
mCamera.startPreview();
takeMultiPictures(n - 1);
}
});
}
通过此代码,相机将拍摄3张照片,但结果不稳定。
第一张照片
第二张照片
特里德照片
我的设备是Galaxy Nexus,支持的曝光补偿值为-2到2。
答案 0 :(得分:1)
您是否看过
的返回值int mic = params.getMinExposureCompensation();
int mac = params.getMaxExposureCompensation();
他们实际上是-2和2吗?
你可以打电话
mCamera.getParameters(params);
设置参数后检查您的设置是否成立。