JavaFX MediaPlayer - 音乐在10秒后停止

use*_*736 7 java mp3 javafx

这是代码,就像标题说音乐在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();
    }
Run Code Online (Sandbox Code Playgroud)

Rum*_*mel 12

您的问题已在此处被询问并回答: 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();
}
Run Code Online (Sandbox Code Playgroud)

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


小智 5

尝试使用 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();
    }
Run Code Online (Sandbox Code Playgroud)