改变闹钟的音量

Change volume of an alarm

我想设置闹钟的音量。我使用此代码,但音量似乎没有任何变化,只有日志显示我设置的音量值。我应该怎么做才能真正改变音量?

我的代码:

final MediaPlayer mediaPlayer = MediaPlayer.create(this, RingtoneManager.getActualDefaultRingtoneUri(this,RingtoneManager.TYPE_ALARM));

        final AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        final int currentVolume = audio.getStreamVolume(AudioManager.STREAM_ALARM);
        Log.e("Point_1", "Volume " + currentVolume);
        audio.setStreamVolume(AudioManager.STREAM_ALARM,0,0);
        mediaPlayer.start();
        new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                mediaPlayer.stop();
                Log.e("Point_1", "Volume_after " + audio.getStreamVolume(AudioManager.STREAM_ALARM));
            }

    }, 5000);

谢谢。

使用此代码

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

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                             [int value],
                             [if desired a flag]);

你应该使用 AudioManager.STREAM_MUSIC 而不是 AudioManager.STREAM_ALARM

也看看How to correctly set MediaPlayer audio stream type