Disable shutter sound while capturing image in android/turn off camera sound programatically/Disable camera sound/mute shutter sound of camera/stop camera click sound
This can be achieved by mute audio while capturing image. Then enable audio after taking image
package com.example.picture; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Service; import android.content.Context; import android.content.Intent; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.media.AudioManager; import android.os.IBinder; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; public class CameraService extends Service { AudioManager mgr ; //Camera variables //a surface holder private SurfaceHolder sHolder; //a variable to control the camera private Camera mCamera; //the camera parameters private Parameters parameters; /** Called when the activity is first created. */ @Override public void onCreate() { super.onCreate(); Log.d("Entered","dfdf"); } @Override public void onStart(Intent intent, int startId) { // TODO Auto-generated method stub super.onStart(intent, startId); mCamera = Camera.open(); SurfaceView sv = new SurfaceView(getApplicationContext()); mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true); try { mCamera.setPreviewDisplay(sv.getHolder()); parameters = mCamera.getParameters(); //set camera parameters mCamera.setParameters(parameters); mCamera.startPreview(); mCamera.takePicture(null, null, mCall); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //Get a surface sHolder = sv.getHolder(); //tells Android that this surface will have its data constantly replaced sHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } Camera.PictureCallback mCall = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { //decode the data obtained by the camera into a Bitmap FileOutputStream outStream = null; try{ outStream = new FileOutputStream("/sdcard/Image.jpg"); outStream.write(data); outStream.close(); } catch (FileNotFoundException e){ Log.d("CAMERA", e.getMessage()); } catch (IOException e){ Log.d("CAMERA", e.getMessage()); } mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false); } }; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } } |
See more
It's not work...in LG optimus G, Samsung. gallexy note 1, Samsung. gallexy 2 LTE,,
ReplyDelete