gpt4 book ai didi

java - android:如果开/关/自动如何检查闪光灯?

转载 作者:行者123 更新时间:2023-11-29 09:45:00 25 4
gpt4 key购买 nike

所以我想有一个按钮,用户可以在闪光灯开/关/自动之间进行选择。这个按钮在我的相机预览 Activity 中,但我不确定如何使用一个按钮检查某些参数。

    //Flash Button
final Button flashButton = (Button) findViewById(id.camera_flash);
flashButton.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mCamera != null){
Parameters p = mCamera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_AUTO);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","Torch On");
}else{
Parameters p = mCamera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
mCamera.release();
mCamera=null;
flashButton.setText("OFF");

}// maybe another one for ON



}

现在它的设置是 mCamera!=null 但是我如何检查闪光灯是自动、打开还是关闭?我在想也许有一个 SWITCH 代替?我试图将这些设置保存在一个按钮中,所以它是一种切换。有人可以帮我解决这个问题吗?

提前致谢。

更新代码

   //Flash Button
final Button flashButton = (Button) findViewById(id.camera_flash);
flashButton.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Parameters p = mCamera.getParameters();

// TODO Auto-generated method stub
if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_ON){
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("Off");
Log.e("Torch","MODE OFF");

}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_OFF){
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(p);
mCamera.release();
mCamera=null;
flashButton.setText("TORCH");
Log.e("Torch","MODE TORCH");

}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_AUTO){
p.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("ON");
Log.e("Torch","MODE ON");

}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_TORCH){
p.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","MODE AUTO");

}else{
p.setFlashMode(Parameters.FLASH_MODE_AUTO);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","MODE AUTO");

}



}

最佳答案

您可以检查闪光灯是 AUTO、ON 还是 OFF,如下所示:

Camera.Parameters p= mCamera.getParameters();

if(p.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_ON))
{
//DO STUFF...
}
else if(p.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_OFF))
{
//DO STUFF......
}
else if(p.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_TORCH))
{
//DO STUFF......
}
else if(p.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_AUTO))
{
//DO STUFF......
}
else
{
//DO STUFF.....
}

关于java - android:如果开/关/自动如何检查闪光灯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com