Android闹钟音量逐渐增加
作者:互联网
我有一个Alarm类,可以按时播放默认的警报音.我想播放警报音,一次将音量从最小调到最大.我如何逐渐将音量从最小增加到最大.是否有示例代码或项目的链接.请帮我
解决方法:
您可以自己做.没什么复杂的.
触发PendingIntent后,请使用处理程序来进行增加.
>创建将以AudioManager或应用程序上下文作为参数的类.
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));
我希望这能给您想法.原谅任何错误或错别字.
标签:android-audiomanager,android-alarms,volume,media,android 来源: https://codeday.me/bug/20191030/1969503.html