2016-11-17 60 views
0

我想設置鬧鐘的音量。我使用這段代碼,但是卷似乎沒有任何變化,只有日誌顯示了我設置的卷的值。我應該怎麼做才能真正改變音量?更改鬧鐘的音量

我的代碼:

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); 

感謝。

回答

0

使用此代碼

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

+0

嘿,謝謝!另外,你能告訴我有什麼方法可以將最大音量除以100,然後用它作爲setStreamVolume的值嗎? – Steve

+0

看到這個http://stackoverflow.com/questions/15670524/how-to-turn-the-volume-to-max-programmatically-on-android – zohreh