Android 银河s3上的相机闪光灯
我正在使用以下代码打开相机手电筒Android 银河s3上的相机闪光灯,android,android-camera,surfaceview,flashlight,Android,Android Camera,Surfaceview,Flashlight,我正在使用以下代码打开相机手电筒 public Flashlight(SurfaceView preview, Context context){ this.preview = preview; this.context = context; mHolder = preview.getHolder(); mHolder.addCallback(this); mCamera = Camera.open(); cameraOpened = true;
public Flashlight(SurfaceView preview, Context context){
this.preview = preview;
this.context = context;
mHolder = preview.getHolder();
mHolder.addCallback(this);
mCamera = Camera.open();
cameraOpened = true;
try {
mCamera.setPreviewDisplay(mHolder);
}catch (Exception e){
e.printStackTrace();
}
params = mCamera.getParameters();
mCamera.startPreview();
}
private void turnOnFlashlight(){
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);
}
private void turnOffFlashlight(){
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
mHolder = holder;
try {
mCamera.setPreviewDisplay(mHolder);
}catch(Exception e){
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
mHolder = null;
}
它使用surface view,在许多手机上都能很好地工作,但我无法让它在galaxy S3上工作。你经历过类似的问题吗?有没有办法让它在S3上工作
感谢转发为什么手电筒需要表面视图?您只需使用flash_MODE_TORCH打开flash即可。surface view是适用于大多数设备的更好的解决方案。闪光模式有很大的问题,这里是参考