JavaFX MediaPlayer – 音乐在10秒后停止

这是代码,就像标题说音乐在10秒后停止,我在vlc或其他程序中正常播放文件,它持续超过5分钟。

public void music(){ String bip = "src/data/fjordmusic.mp3"; Media hit = new Media(Paths.get(bip).toUri().toString()); MediaPlayer mediaPlayer = new MediaPlayer(hit); mediaPlayer.play(); } 

您的问题已在此处被询问和回答: MediaPlayer在大约5秒后停止播放

垃圾收集器似乎在完成该方法后对MediaPlayer实例进行了设置。 将MediaPlayer的声明放在方法之上,它应该工作。

 MediaPlayer mediaPlayer public void music(){ String bip = "src/data/fjordmusic.mp3"; Media hit = new Media(Paths.get(bip).toUri().toString()); mediaPlayer = new MediaPlayer(hit); mediaPlayer.play(); } 

(我无法发表评论,所以我不得不写一个答案。)

请尝试使用AudioClip:

javafx.scene.media.AudioClip;

  public void music(){ String bip = "src/data/fjordmusic.mp3"; Media hit = new Media(Paths.get(bip).toUri().toString()); AudioClip mediaPlayer = new AudioClip(hit.getSource()); mediaPlayer.play(); }