如何在Android上的应用程序中静音按下音量键的声音?

时间:2011-01-19 14:39:17

标签: android audio key volume mute

我是否应该将音量设为onResume,然后使用AudioManager将音量设置为onPause?

还是有其他正确的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

我认为您的答案在于setStreamMute()的文档。

  

静音命令受到保护   客户端进程死亡:如果一个进程   有一个活动的静音请求   流死了,这个流将是   自动取消静音。

     

静音   对给定流的请求是   累积:AudioManager可以   从一个接收几个静音请求   或更多客户端和流将   只有当相同数量的时候才能取消静音   收到取消静音请求。

     

对于   更好的用户体验,应用   必须取消静音流中的静音   onPause()和静音再次出现   如果合适,请使用onResume()。

答案 1 :(得分:0)

如果有人有兴趣,可以采用一种解决方法来避免您的应用将所有内容静音。 执行以下操作,将使音量键静音,通知来电将保持系统配置(而不是强制静音)。

setVolumeControlStream(AudioManager.STREAM_DTMF);
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamMute(AudioManager.STREAM_DTMF, true);