Java中的音乐播放器?

时间:2011-06-30 06:20:58

标签: java mp3

我有Code哪个播放mp3文件java。

我遇到的问题是,

- >仅当程序在具有断点的调试模式下运行时才会听到音频输出,但在运行模式下则不会。

可能有什么办法可以解决这个问题?我附上了代码以便更好地理解。

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

4 个答案:

答案 0 :(得分:1)

可能你的节目在音乐结束前就结束了。确保您的节目在音乐播放完毕之前不会结束。例如:

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

答案 1 :(得分:0)

很可能你的程序刚刚退出,因为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){}

睡觉主线程并等待太多时间。

答案 2 :(得分:0)

我在我的一个项目中面临同样的问题。我用过循环。它解决了我的问题。

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文件并运行它,它可以正常工作.....;)

答案 3 :(得分:0)

使用waitFor()指令进行线程化可能是解决方法。这也可以使您能够为控制接口使用单独的线程,从而使您可以中断或暂停。