android静音相机快门声?

Pan*_*oid 11 android android-camera

我正在使用这个

camera.takePicture(null, rawCallback, jpegCallback);

但是有些设备会在相机拍摄图像时发出声音.

请任何人帮忙,我怎样才能将相机快门声静音?

Jon*_*ono 10

您可以通过以下方式从4.2开始以编程方式将其关闭:

Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(id, info);
if (info.canDisableShutterSound) {
    mCamera.enableShutterSound(false);
}
Run Code Online (Sandbox Code Playgroud)


Cor*_*ntu 9

要静音,请在捕获图像之前放置此代码

 AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
 mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true);
 camera.takePicture(null, rawCallback, jpegCallback);
Run Code Online (Sandbox Code Playgroud)

1秒后,它将通过输入以下代码取消静音:

 final Handler handler = new Handler();
 Timer t = new Timer();
 t.schedule(new TimerTask() {
    public void run() {
        handler.post(new Runnable() {
            public void run() {
            AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
            mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false);
                    }
                });
            }
    }, 1000); 
Run Code Online (Sandbox Code Playgroud)


Aji*_*jit 7

在按钮单击之前使用以下两行

 AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true);
Run Code Online (Sandbox Code Playgroud)

在拍摄完图像之后,这两块孤零零:

AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false);
Run Code Online (Sandbox Code Playgroud)

我只知道这个解决方案,我个人在我的应用程序中使用它