【发布时间】:2016-05-29 00:24:05
【问题描述】:
我正在尝试使用 JLayer 让一个 mp3 播放按钮工作。我没有收到任何错误,但它没有播放任何声音。我将所有必需的 jar 文件添加到库中并遵循了许多教程,因此代码应该可以工作,但我只是没有得到任何声音。 (P/S:我没有mp3插件)
try
{
JOptionPane.showMessageDialog(null,"Trying");
FIS = new FileInputStream("C:\\Users\\Jun\\Documents\\NetBeansProjects\\Player\\src\\Songs\\NumaNuma.mp3");
BIS = new BufferedInputStream(FIS);
playSong = new javazoom.jl.player.Player(BIS);
playSong.play();
}
catch(FileNotFoundException | JavaLayerException e)
{
JOptionPane.showMessageDialog(null,"Error Occured " + e);
}
new Thread()
{
@Override
public void run()
{
try
{
playSong.play();
}
catch (JavaLayerException ex) {
JOptionPane.showMessageDialog(null,"Error Occured " + ex);
}
}
}.start();
【问题讨论】:
-
除了JLayer,你不需要任何额外的插件。你调试过你的代码吗?
-
我认为它应该有一个方法来检查它是否已经在播放。你应该写像
while(!playersong.isplaying()){playsong.play()}这样的东西,因为播放只会被调用一次,并且随着线程结束它会停止。跨度> -
是的,我调试了它进入 try 部分的代码并执行了 play 方法,然后它进入了右括号并完成了。所以它表现得好像它确实播放了这首歌,但实际上它没有。我想知道这是否是我的 netbeans 的问题,但不可能是因为我现在在许多计算机上尝试了相同的代码。
标签: java swing audio-player