Try it,
if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.JELLY_BEAN_MR1){ camera.enableShutterSound(false); } else{ AudioManager audio= (AudioManager)this.getApplicationContext().getSystemService(Context.AUDIO_SERVICE); currentVolume=audio.getStreamVolume(AudioManager.STREAM_SYSTEM); audio.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); MediaPlayer media= MediaPlayer.create(SecondCamera.this,R.raw.camera_click); media.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); isVolumeChanged=true; }
Do taller than onShutter() , then call media.start() on onShutter()
then onPictureTaken() Do the following.
public void onPictureTaken(byte[] data, Camera camera) { if (isVolumeChanged){ audio.setStreamVolume(AudioManager.STREAM_SYSTEM,currentVolume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); } }
Hope this helps !!!!!
source share