2011-10-04 78 views
0

我试图创建一个使用Javazoom mp3包播放声音的音板程序。在创建soundloop之前停止/暂停所有线程

我为每个按钮创建一个新线程,因为我希望每次单击该按钮时停止线程,以便停止当前播放的声音并再次启动它,以便选择一个新的随机声音片段。我的逻辑是,这将使用户能够在当前声音播放完毕之前单击该按钮,并停止声音并开始下一个剪辑。

我的问题是有一些方法可以在线程创建之前停止线程,或者确保线程在当前正在运行并重新启动的情况下自行停止。我已经尝试将线程创建对象移动到actionlistener之外,然后尝试在.start之前尝试.start,但这不起作用。

三江源任何帮助

回答

0

我建议你转换声音播放器的声音线程任务,并使用ExecutorService来运行它们。 ExecutorService在创建,运行和停止线程时为您提供了更好的控制。

有各种各样的ExecutorService实现,它们可以使用Executors类中的静态工厂方法创建。