2

Je suis confronté à un problème dans les applications de l'appareil photo. en flash comment puis-je changer le bouton sur le bouton flash comme flash, flash, flash automatique, lorsque la fonctionnalité de changement de bouton devrait être changer en fonction du bouton. Et l'autre est si la fonction de flash est activée, le téléphone prend la 1ère photo avec flash, la fonction de flash est toujours activée, mais sur la deuxième photo ne pas activer le flash.application de l'appareil photo android flash problème

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 
     } 

    } 
} 

Répondre

0

Je n'obtenir ces lignes

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

et

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

Shouldnt qu'ils soient sur: off et off: ou si? Je ne suis pas entièrement sûr de ce que vous essayez d'accomplir.