簡體   English   中英

Java 中的音頻多線程

[英]Multi Threading in Java for Audio

我終於想出了如何用 java 播放音頻,並享受其中的含義; 然而,當我想創建一個音樂選擇程序,一個包含功能按鈕的程序時,我意識到我播放音頻的方法會與程序的其余部分發生沖突。 播放音頻時,我需要使用 Thread.sleep,它的長度與音頻文件的長度相同,但這會阻止我暫停、選擇不同的歌曲等。我還沒有完全完成程序的主要部分,因為我今天才開始。 我搜索了一些關於多線程和在 Java 中播放音頻的不同網站,但沒有一個給我一個解決這個問題的好方法。 我想知道是否可以創建一個新線程,然后在原始線程的同時在其上運行音頻,以及如何從另一個線程訪問一個線程。 謝謝

PS,如果需要澄清和圖片,請根據需要發送它們,這會令人困惑

Thread.sleep僅在需要在播放音頻時防止程序退出的情況下與音頻一起使用。 如果您的程序正在運行,在此期間執行其他操作,則不需要 sleep 命令。

當您播放ClipSourceDataLine ,被調用的音頻渲染在其自己的線程上運行,但該線程是一個daemon線程。 與常規線程不同,守護線程不會讓正在運行的 Java 程序保持打開狀態。

我還沒有看到您的其余代碼,但是向自己演示這一點的一個好方法是創建一個帶有按鈕的簡單表單。 讓按鈕啟動聲音,不要包含任何睡眠命令。 只要帶有按鈕的表單向上顯示並且可見,聲音就應該播放完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM