如何控制媒体音量?

我想用我的应用程序使用常规音量button来控制媒体音量。 问题是我的应用程序使用短的声音,他们可能是烦人的用户。 您只能在播放时调整媒体音量(1秒),然后开始调整铃声音量。 我怎样才能使媒体音量默认?

在你的活动的onCreate()你可以做:

setVolumeControlStream(AudioManager.STREAM_MUSIC); 

我还没有尝试过,但你应该能够通过在Activity中覆盖onKeyDown(int keyCode, KeyEvent event)来拦截常规的音量button。 检查KEYCODE_VOLUME_UPKEYCODE_VOLUME_DOWNKEYCODE_VOLUME_DOWN

对于streamType参数, streamType带有STREAM_MUSIC AudioManager.setStreamVolume(int,int,int) streamType可以工作,如果你从onKeyDown(...)方法返回true (表明你已经处理了事件),它应该阻止系统调整铃声音量。 确保你没有处理的所有其他键码都返回false

请不要自己处理音量键 – 这几乎是我不可能mpossible to guarantee你不会打破音量键的行为。

在你的onCreate():调用这个API onCreate():

 setVolumeControlStream(AudioManager.STREAM_MUSIC); 

这告诉AudioManager ,当你的application has focus ,音量键应该调整音量。