0

我正在开发一个游戏应用程序。但是音量控制有问题。我想使用 seekBar 更改媒体播放器音量,而不是系统媒体音量。是否有任何通过 seekBar 更改媒体播放器音量的解决方案。

提前致谢。

4

2 回答 2

5

首先,从 AudioManager 获取参考;

AudioManager audioMan = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

要提高音量:

 audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_VIBRATE | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);

降低音量:

audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_VIBRATE | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);

要获得最大音量:

int maxVolume = audioMan.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

获取当前音量:

int currVolume = audioMan.getStreamVolume(AudioManager.STREAM_MUSIC);

您可以删除我包含的任何标志

于 2012-06-19T06:52:16.617 回答
0

可能是这个帮助...

protected static void setVolume(int volume) {
        currentVolume = volume;
        {
            if (volume == 1) {
                volume = 2;
            }
            try {
                float vol = ((float) volume / CONSTANT.SYSTEM_MAX_VOLUME);
                mediaPlayer.setVolume(vol, vol);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }
于 2013-08-14T21:21:51.693 回答