1
我对JavaFX相当新,最近想用MP3文件而不是WAV播放音频。据我所知,我正在做的事情,我没有得到任何错误,但我也没有听到任何声音。JavaFX音频似乎没有播放
我会发布我的代码的重要部分下面。如果我错过了什么,请告诉我。谢谢。
try {
URL sound = getClass().getResource("/resources/origin.mp3");
Media hit = new Media(sound.toExternalForm());
musicPlayer = new MediaPlayer(hit);
musicPlayer.setVolume(1.0);
}
catch(Exception e) {
System.out.println("whoops: " + e);
}
checkMusic();
检查MUSIC方法:
public void checkMusic() {
if(music)
musicPlayer.setAutoPlay(true);
else
musicPlayer.stop();
}
我也尝试了musicPlayer.play();
为好。
编辑
是的,我相信if
语句运行中的代码,我与println
检查它,并且他们打印出来。 music
布尔值只是程序/游戏中设置的控制器。
如果在执行'checkMusic'命中'musicPlayer.setAutoPlay(真);'应该罚款。你确定你的控制台没有任何“哎呀:..”吗?仅仅因为如果在使用getResource时使用前导斜杠(“/”),它将使用项目根作为基础。调用类和MP3资源如何放置在目录结构中? – DVarga
它肯定会执行,因为我已经检查过'println's。而且该目录应该没问题,因为它在我使用.wav文件时起作用。它位于bin文件夹中,然后位于名为资源的文件夹中以及其他内容。据我所知,控制台中没有“哎呀”,因为我已经处理了大部分问题。 (相信我有几个,因为我对JavaFX的新变化很大) – Ryan
@DVarga哦,还有,我可能已经找到了一些东西。当我做'System.out.println(hit.getDuration();'它说未知,'getTracks()'也是未知的。这可能意味着什么吗? – Ryan