33

私は、音量を上げて曲を45秒間再生してから停止するAndroid用のアプリを書いています。それはうまくいきますが、ボリュームを 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);
}
4

1 に答える 1

73

AudioManagerを使用して、次のスニペットを使用できます。

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

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

これにより、ボリュームが最大レベル ( getStreamMaxVolume()) に設定されますSTREAM_MUSIC(これは、たとえば再生された曲です)。他のタイプのサウンドについては、別の値を使用してくださいSTREAM_RING

于 2013-03-27T22:15:19.853 に答える