如何在android上以编程方式将音量调到最大?

时间:2013-03-27 22:12:49

标签: android volume android-music-player

我正在为Android编写一个应用程序来调高音量并播放45秒的歌曲然后停止。这很好,但是我只能将音量提高到50%,有没有办法使用setVolume()将音量调高到100%?

这是我的代码:

final MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);

//plays eye of the tiger for 45 seconds
if (messages.contains("MUSIC ONLY")){

    //turn up the volume
    mp.setVolume(20, 20);
    mp.start();

    //play ring tone for 45 seconds
    new Timer().schedule(new TimerTask() {
        @Override
        public void run() {
            mp.stop();
        }
    }, 45000);
}

1 个答案:

答案 0 :(得分:64)

您可以使用AudioManager

使用以下代码段
AudioManager am = 
    (AudioManager) getSystemService(Context.AUDIO_SERVICE);

am.setStreamVolume(
    AudioManager.STREAM_MUSIC,
    am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
    0);

这会将音量设置为getStreamMaxVolume()的最高音量级别(STREAM_MUSIC)(例如播放的歌曲)。对于其他类型的声音,请使用不同的值,例如STREAM_RING等。