首页 > 解决方案 > 在for循环中执行多个TimerTask

问题描述

我有我的 TimerTask 播放音乐(在控制台中显示它的时间),我想在其他音乐结束时开始播放多首音乐(列表)音乐。当我使用 forloop 它不工作。任何其他解决方案?

我的 TimerTask 代码:

public class MusicPlayer extends TimerTask {
    private int duree;
    private LocalTime time;
    public MusicPlayer(int duree) {
        this.duree = duree;
        time=LocalTime.ofSecondOfDay(duree);
    }
    @Override
    public void run() {
        System.out.println(time);
        time=time.minusSeconds(1);
        duree--;
        if (duree< 0)
            this.cancel();
    }
}

我运行 timertask 的函数:

public  void  readMusic(Music m) {
        System.out.println("====>Reading Music :");
        System.out.println("======>Name :"+m.getName());
        System.out.println("======>Nom de l'artiste :"+m.getNom_artiste());
        Timer timer=new Timer();
        timer.schedule(new MusicPlayer(m.getDuree()), 0);
}

我的循环:

List<Music> musics = myPlayList.getMusicList();
            musics.forEach(music -> {
                musicService.readMusic(music);
            });

标签: java

解决方案


推荐阅读