我有一个自定义相机可以很好地工作,除了我使用的Flash的实现。我尝试在FLASH_MODE_AUTO
中使用surfaceChanged
。我也尝试使用以下代码{ {1}}:
Light Sensor
无论我做什么,当我拍照并闪光灯闪光时,我的照片看起来像这样:
然而,当我使用默认的相机应用程序拍照时,它看起来很普通,甚至有点昏暗。
我想完全使用光传感器摆脱这种解决方法并使用 SensorEventListener listener=new SensorEventListener(){
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
//Not touching this with a ten foot pole
}
@Override
public void onSensorChanged(SensorEvent event) {
float lux=event.values[0];
Log.d(TAG, "The light sensor says: "+lux+" lux");
Camera.Parameters params=mCamera.getParameters();
cancelAutoFocus();
if(lux<50)
{
if(params.getFlashMode()!=Parameters.FLASH_MODE_ON)
params.setFlashMode(Parameters.FLASH_MODE_ON);
if(params.getExposureCompensation()!=params.getMinExposureCompensation())
params.setExposureCompensation(params.getMinExposureCompensation());
Log.d(TAG, "Exposure has been set to "+params.getMinExposureCompensation());
mCamera.setParameters(params);
}
else
{
params.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
}
}
};
。如何让我的相机在光线不足的条件下和/或闪光灯开启?
或者我是否必须进行任何后处理以确保图像的亮度较低。