我正在尝试创建一个使用Javazoom mp3包播放声音的音板程序。
我为每个按钮创建一个新线程,因为我希望每次单击按钮时停止线程,以便停止当前播放的声音并再次启动它,从而选择一个新的随机声音片段。我的逻辑是,这将使用户能够在当前声音播放完毕之前单击按钮,它将停止声音并开始下一个剪辑。
我的问题是有一些方法可以在创建一个线程之前停止它,或者确保一个线程在当前正在运行然后重新启动时自行停止。我已经尝试将线程创建对象移动到actionlistener之外,然后在.start之前尝试.start但是这不起作用。
感谢您的任何帮助
答案 0 :(得分:0)
我建议将声音播放器声音线程转换为任务,然后使用ExecutorService运行它们。在创建,运行和停止线程时,ExecutorService
可以让您更好地控制。
有各种ExecutorService
实现,可以使用Executors类中的静态工厂方法创建。