2011-06-30 56 views
0

我有代码播放mp3文件的Java。Java中的音乐播放器?

,我遇到的问题是,

- >程序时使用断点调试模式下运行的音频输出只是听说过,但不是在运行模式。

可能的解决方法是什么?为了更好的理解,我附上了代码。

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

所以,当你确实是只要运行它会发生什么?应用程序是否立即关闭?我怀疑'Player.play()'方法只是开始播放它,而不是阻塞直到曲目完成。 –

+0

经过一段时间,控制台输出为“Over”,没有音频输出... –

回答

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

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){} 

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

1

在音乐完成之前,您的程序可能已经结束。确保您的节目在音乐结束前不会结束。例如:

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