我有一个闹钟类,它会按时播放默认的闹钟铃声。我想让闹钟在一段时间内播放,音量从最小到最大。我怎样才能将音量从最小逐渐增加到最大。是否有示例代码或项目的链接。请帮助我
最佳答案
你可以自己做。没有什么复杂的。
一旦您的 PendingIntent
被触发,使用处理程序来增加。
创建将应用的
AudioManager
或Context
作为参数的类。public class VolumeRunnable implements Runnable{ private AudioManager mAudioManager; private Handler mHandlerThatWillIncreaseVolume; private final static int DELAY_UNTILL_NEXT_INCREASE = 30*1000;//30 seconds between each increment VolumeRunnable(AudioManager audioManager, Handler handler){ this.mAudioManager = audioManager; this.mHandlerThatWillIncreaseVolume = handler; } @Override public void run(){ int currentAlarmVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM); if(currentAlarmVolume != mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM)){ //if we havent reached the max //here increase the volume of the alarm stream by adding currentAlarmVolume+someNewFactor mHandlerThatWillIncreaseVolume.postDelayed(this,DELAY_UNTILL_NEXT_INCREASE); //"recursively call this runnable again with some delay between each increment of the volume, untill the condition above is satisfied. } }
一旦
PendingIntent
被触发,调用这个Runnable
:
someHandler.post(new VolumeRunnable(mAudioManager, someHandler));
我希望这给了你想法。请原谅任何错误或打字错误。
关于安卓闹钟音量逐渐增大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17697747/