Javafx AudioClip not looping



现在,我认为这可能是由于我的 gui 代码中存在任何数量的问题,但是,我想问一下,以下代码有什么明显的错误吗?

public class music 
{
    static AudioClip currentMusic;
    public static void playMusic()
    {
        currentMusic = new AudioClip(Paths.get("src/test.mp3").toUri().toString());
        currentMusic.setCycleCount(INDEFINITE);
        currentMusic.play();
    }
}

AudioClip 可以正常加载,正常播放,但无论setCycleCount值是多少,它总是在播放一次后停止。

尝试在musicPlaying = false之前添加调用方playMusic();

musicPlaying = false;
playMusic();

根据AudioClip的文档,如果您有setCycleCount(INDEFINITE),那么它将继续循环,直到调用stop()。假设这一点,我会检查你的其余代码,以确保你在某处没有stop()调用。

显然,由于该问题在 ReadyPlayer2 中很常见,因此这似乎是某种错误。像这样的循环可能会起作用,Media类当然可以工作,尽管AudioClip有一些缺点。

我知道

距离上次回答已经有一段时间了,但我想我找到了解决方案。显然循环不适用于.mp3文件,将文件转换为.wav为我解决了问题!

最新更新