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