簡體   English   中英

Java 中的音樂播放器?

[英]Music Player in Java?

我有播放 mp3 文件 java 的代碼。

我遇到的問題是,

--> 音頻 output 僅在程序在帶斷點的調試模式下運行時聽到,但在運行模式下聽不到。

解決這個問題的可能方法是什么? 我附上了代碼以便更好地理解。

 FileInputStream mp3_file=new FileInputStream("xyz.mp3");
 Player mp3=new Player(mp3_file);
 mp3.play();
 System.out.println("Over");

可能您的程序在音樂結束之前就結束了。 確保您的程序在音樂結束之前不會結束。 例如:

mp3.play();
System.out.println("Press Enter to stop");
System.in.read();  // wait until user presses Enter

使用 waitFor() 指令的線程可能是 go 的方式。 這也可以使您能夠為控制界面創建一個單獨的線程,以允許您中斷或暫停。

很可能您的程序剛剛退出,因為main方法中的代碼很快就完成了。

我們不知道你的Player是什么,但我認為它在與主線程不同的線程上播放音樂,所以只要你的代碼停止,它就可以正常工作。

main方法中,您應該停止執行代碼。 為此,您只需使用以下命令從控制台讀取內容:

import java.util.Scanner;
...
// here we will get input and program won't quit until we press Return
new Scanner(System.in).readLine();

除此之外,您可以使用類似的東西

try{Thread.sleep(Long.MAX_VALUE);} catch(Exception e){}

睡眠主線程並等待太多時間。

我在我的一個項目中遇到了同樣的問題。 我用過for循環。 它解決了我的問題。

FileInputStream mp3_file=new FileInputStream("xyz.mp3");
Player mp3=new Player(mp3_file);
 for(int i=0;i<=3; i++)
     mp3.play();

System.out.println("Over"); 

但是,如果創建代碼的可執行 jar 文件並運行它,它工作正常.....;)

暫無
暫無

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

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