приложение камеры android flash проблема

Я столкнулся с проблемой в приложениях камеры. во флэш-памяти, как я могу изменить кнопку при нажатии кнопки вспышки, например вспышка выключена, вспышка включена, вспышка автоматически, когда функциональность изменения кнопки должна быть изменена в соответствии с кнопкой. И еще один, если функция вспышки включена, телефон делает 1-е фото со вспышкой, функция вспышки все еще включена, но на втором фото вспышка не включается.

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
        }

    }
}

person Harpal Singh    schedule 31.12.2015    source источник


Ответы (1)


я не понимаю этих строк

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);

Разве они не должны быть включены: выключены и выключены: включены или около того? Я не совсем уверен, чего вы пытаетесь достичь.

person tibbi    schedule 18.06.2016