在android中以编程方式停止相机单击声音

时间:2009-10-20 11:40:53

标签: android

我正在使用Android的默认相机来点击我的应用中的图片。我想停止点击图像时发出的咔嗒声。有没有办法以编程方式停止点击声音?

感谢。

4 个答案:

答案 0 :(得分:6)

我能够成功地使用这个技巧来降低音量。我在拍照之前做到了这一点:

    AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true);

这是在收到第一条消息之后:

    AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false);

答案 1 :(得分:3)

要禁用声音,请使用以下代码:

AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int streamType = AudioManager.STREAM_SYSTEM;
mgr.setStreamSolo(streamType, true);
mgr.setRingerMode(AudioManager.RINGER_MODE_SILENT);
mgr.setStreamMute(streamType, true);

启用声音使用此代码:

mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
streamType = AudioManager.STREAM_SYSTEM;
mgr.setStreamSolo(streamType, false);
mgr.setRingerMode(AudioManager.RINGER_MODE_SILENT);
mgr.setStreamMute(streamType, false);

答案 2 :(得分:1)

对于运行4.0.3的Nexus S,

AudioManager.STREAM_SYSTEM
不会阻止相机快门声音发光, 但
AudioManager.STREAM_MUSIC
有效!

答案 3 :(得分:0)

您可以使用以下代码将设备静音和取消静音:

 final AudioManager mode = (AudioManager)   this.getSystemService(Context.AUDIO_SERVICE);
 //Silent Mode Programatically
 mode.setRingerMode(AudioManager.RINGER_MODE_SILENT);

//Normal Mode Programatically
mode.setRingerMode(AudioManager.RINGER_MODE_NORMAL);