Я разрабатываю приложение Battery Alarm.и я хочу воспроизводить музыку, используя медиаплеер каждую минуту, используя Таймер , а также хочу повторить музыку 2 раза в течение одной минуты.
Это прекрасно работаетв первый раз, когда Timer вызывает метод * 8playAlarm () **, но через одну минуту, когда Timer снова вызывает метод playAlarm () , он воспроизводит только музыкуодин раз.
@Override
public void onCreate() {
super.onCreate();
mStartTime=preferencesAlert.getInt("alert",0); // 0 == immediately
mInterval=preferencesInterval.getInt("interval",1); // 1==1 minute
mSongUri=preferencesSongUri.getString("uri","android.resource://"+getPackageName()+"/raw/celesta");
timer = new Timer();
TimerTask hourlyTask = new TimerTask() {
@Override
public void run () {
playAlarm();
}
};
// schedule the task to run starting now and then every time interval...
timer.schedule (hourlyTask,60000*mStartTime, 60000*mInterval);
}
метод playAlarm ()
private void playAlarm(){
playerAlarm=MediaPlayer.create(getApplicationContext(),Uri.parse(mSongUri));
playerAlarm.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
repeatMax=preferencesRepeat.getInt("repeat",2);
if(repeatMin<=repeatMax){
repeatMin++;
if(playerAlarm!=null && !playerAlarm.isPlaying()) {
mp.seekTo(0);
mp.start();
}
}else {
mp.reset();
mp.release();
}
}
});
playerAlarm.start();
}
Я хочу воспроизводить музыку два раза в каждую минуту, но она воспроизводится только один раз