繁体   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