2011-10-04 75 views
0

我試圖創建一個使用Javazoom mp3包播放聲音的音板程序。在創建soundloop之前停止/暫停所有線程

我爲每個按鈕創建一個新線程,因爲我希望每次單擊該按鈕時停止線程,以便停止當前播放的聲音並再次啓動它,以便選擇一個新的隨機聲音片段。我的邏輯是,這將使用戶能夠在當前聲音播放完畢之前單擊該按鈕,並停止聲音並開始下一個剪輯。

我的問題是有一些方法可以在線程創建之前停止線程,或者確保線程在當前正在運行並重新啓動的情況下自行停止。我已經嘗試將線程創建對象移動到actionlistener之外,然後嘗試在.start之前嘗試.start,但這不起作用。

三江源任何幫助

回答

0

我建議你轉換聲音播放器的聲音線程任務,並使用ExecutorService來運行它們。 ExecutorService在創建,運行和停止線程時爲您提供了更好的控制。

有各種各樣的ExecutorService實現,它們可以使用Executors類中的靜態工廠方法創建。