2

我在相机应用程序中遇到问题。在闪光灯中,我如何更改单击闪光灯按钮上的按钮,如闪光灯关闭、闪光灯打开、闪光灯自动,何时应根据按钮更改按钮更改功能。另一种是如果闪光灯功能打开,手机用闪光灯拍摄第一张照片,闪光灯功能仍然打开,但在第二张照片上不启用闪光灯。

flashCameraButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (isPressed) {
                flashCameraButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.onflash));

                flashOnButton();
            } else if (isPressed) {
                flashCameraButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.offflash));
                isPressed = !isPressed;
                flashOffButton();
            } else
                flashCameraButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.onflash));
            flashOnButton();
        }
    });


private void flashOnButton() {
    if (camera != null) {
        try {
            Camera.Parameters param = camera.getParameters();
            param.setFlashMode(!flashmode ? Camera.Parameters.FLASH_MODE_ON
                    : Camera.Parameters.FLASH_MODE_ON);
            camera.setParameters(param);
            flashmode = !flashmode;
        } catch (Exception e) {
            // TODO: handle exception
        }

    }
}
  private void flashOffButton() {
    if (camera != null) {
        try {
            Camera.Parameters param = camera.getParameters();
            param.setFlashMode(!flashmode ? Camera.Parameters.FLASH_MODE_OFF
                    : Camera.Parameters.FLASH_MODE_OFF);
            camera.setParameters(param);
            flashmode = !flashmode;
        } catch (Exception e) {
            // TODO: handle exception
        }

    }
}
4

1 回答 1

0

我不明白这些线

param.setFlashMode(!flashmode ? Camera.Parameters.FLASH_MODE_ON
                : Camera.Parameters.FLASH_MODE_ON);

param.setFlashMode(!flashmode ? Camera.Parameters.FLASH_MODE_OFF
                : Camera.Parameters.FLASH_MODE_OFF);

他们不应该开:关和关:开还是这样?我不完全确定你想要达到什么目的。

于 2016-06-18T20:01:41.090 回答