2

我是否应该将音量 onResume 静音并使用 AudioManager 将音量设置回 onPause?

还是有另一种正确的方法来做到这一点?

谢谢!

4

2 回答 2

2

我认为您的答案在于setStreamMute().

静音命令可防止客户端进程死亡:如果在流上具有活动静音请求的进程死亡,则该流将自动取消静音。

给定流的静音请求是累积的:AudioManager 可以从一个或多个客户端接收多个静音请求,并且只有在接收到相同数量的取消静音请求时才会取消静音。

为了更好的用户体验,应用程序必须在 onPause() 中取消静音流,并且如果合适,在 onResume() 中再次静音。

于 2011-01-19T14:44:17.250 回答
0

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

setVolumeControlStream(AudioManager.STREAM_DTMF);
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamMute(AudioManager.STREAM_DTMF, true);
于 2015-10-13T17:14:58.593 回答