3
我有一个闹钟类,可以按时播放默认的闹钟铃声。我想在一段时间内播放闹钟铃声,音量从最小到最大。我怎样才能从最小值到最大值逐渐增加音量。样本代码或项目是否有链接?请帮我Android闹钟音量逐渐增加
我有一个闹钟类,可以按时播放默认的闹钟铃声。我想在一段时间内播放闹钟铃声,音量从最小到最大。我怎样才能从最小值到最大值逐渐增加音量。样本代码或项目是否有链接?请帮我Android闹钟音量逐渐增加
你可以自己做。没有什么复杂的。
一旦你的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.
}
}
}
调用此Runnable
一旦PendingIntent
被触发:
someHandler.post(新VolumeRunnable(mAudioManager,someHandler));
我希望这给你的想法。原谅任何错误或错别字。
您错过了: Handler someHandler = new Handler(); 之前: someHandler.post(新VolumeRunnable(mAudioManager,someHandler)); 只是为他人评论。 – jclova