JavaFX后台线程任务应作为后台线程循环播放音乐

fhs*_*647 5 audio javafx

我做了一个小游戏,总是应该循环播放背景音乐。我拿了这段代码,但这行不通。首先,它会按预期播放,然后开始溢出,无法收听。我做错了什么?

final Task task = new Task() {

        @Override
        protected Object call() throws Exception {
            int s = INDEFINITE;
            AudioClip audio = new AudioClip(getClass().getResource("aquarium.mp3").toExternalForm());
            audio.setVolume(0.5f);
            audio.setCycleCount(s);
            audio.play();
            return null;
        }
    };
    Thread thread = new Thread(task);
    thread.start();
Run Code Online (Sandbox Code Playgroud)

fhs*_*647 2

问题是我的 mp3 文件。我拿了一个 wav 文件,一切正常。