Android中的多媒体音量取代手机音量

Android中的多媒体音量取代手机音量,android,volume,Android,Volume,我正在为android制作一个简单的音乐应用程序。 它工作正常,但当我想更改多媒体音量时,我无法直接从应用程序中进行更改。 如果我点击音量上升/下降按钮,它会改变电话的音量,因此我应该转到另一个应用程序(游戏),当再次点击这些按钮时,它会改变多媒体音量 您知道有什么方法可以选择这些音量按钮只适用于我的应用程序中的多媒体音量,而不是整个手机 非常感谢我不知道这是否有默认方法,但您可以始终这样做: public boolean onKeyDown(int keyCode, KeyEvent even

我正在为android制作一个简单的音乐应用程序。 它工作正常,但当我想更改多媒体音量时,我无法直接从应用程序中进行更改。 如果我点击音量上升/下降按钮,它会改变电话的音量,因此我应该转到另一个应用程序(游戏),当再次点击这些按钮时,它会改变多媒体音量

您知道有什么方法可以选择这些音量按钮只适用于我的应用程序中的多媒体音量,而不是整个手机


非常感谢

我不知道这是否有默认方法,但您可以始终这样做:

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
   if (   keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || 
          keyCode == KeyEvent.KEYCODE_VOLUME_UP) { 
       //magic goes here
   } else {
       return super.onKeyDown(keyCode, event); 
   }
}

您正在寻找的内置类是
AudioManager
。我相信您需要的特定方法是
setStreamVolume
。流类型将是
AudioManager.stream\u MUSIC
您可以在这里[1]了解它

编辑:我想我不能把这变成一个超链接……顶级课程的链接也是如此……奇怪


[1] :,int,int)

真正容易的是


在我测试过的大多数手机上,只要从您活动的onCreate and pass STREAM_MUSIC或您正在运行音频的任何内容中调用setVolumeControlStream,它们的音量值就不会正确更新,直到
onKeyUp
。。。您应该处理该方法