我在我的应用程序中使用了相机闪光灯,我已经完成了这方面的编码,它在开/关灯下工作。但在2秒后,它就会关闭。如果我再按一次on按钮,它就会强制关闭。这是我正在使用的代码,请帮助我。
我想像这样,如果用户按下按钮灯打开,直到用户按下关闭按钮。
private void processOffClick() {
//togglebutton.setButtonDrawable(R.drawable.offbutton);
System.out.println("in off state");
if( cam != null ){
cam.stopPreview();
cam.release();
}
}
private void processOnClick() {
//togglebutton.setButtonDrawable(R.drawable.onbutton);
System.out.println("in on state");
cam = Camera.open();
Parameters params = cam.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_ON);
cam.setParameters(params);
cam.startPreview();
cam.autoFocus(new AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
}
});
}发布于 2011-11-14 20:48:07
将这些行放入:
Parameters params = cam.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_ON);
cam.setParameters(params);而不是像这样放在processOnClick中:
boolean clicked = false;
private void processOffClick() {
//togglebutton.setButtonDrawable(R.drawable.offbutton);
clicked = false;
System.out.println("in off state");
if( cam != null ){
cam.stopPreview();
cam.release();
}
}
private void processOnClick() {
clicked = true;
//togglebutton.setButtonDrawable(R.drawable.onbutton);
System.out.println("in on state");
cam = Camera.open();
Parameters params = cam.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_ON);
while(clicked) {
cam.setParameters(params);
cam.startPreview();
cam.autoFocus(new AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
}
});
}
}可能行得通,我没有检查代码
我添加了一个while循环,这样它就可以保持flash和焦点,直到它被取消点击。
发布于 2011-11-15 18:23:50
我的经验告诉我,闪光灯模式应该是"TORCH“(如果支持),并且只有当你启动预览时才会启动。然而,摄像头在不同设备上的行为非常不同,并且并不总是如其功能描述符中所宣传的那样
发布于 2012-10-16 20:12:39
1.打开
camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();并且,在AndroidManifest.xml上添加以下权限。
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />请看这个http://www.mkyong.com/android/how-to-turn-onoff-camera-ledflashlight-in-android/
https://stackoverflow.com/questions/8118191
复制相似问题