现在,我认为这可能是由于我的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
值是什么,它总是在播放一次后停止。
答案 0 :(得分:1)
尝试在playMusic();
之前添加来电者musicPlaying = false
。
musicPlaying = false;
playMusic();
答案 1 :(得分:1)
显然,由于问题是ReadyPlayer2常见的,似乎这是某种错误。类似this的循环可能会起作用,而Media
类肯定有效,尽管AudioClip
有一些缺点。
答案 2 :(得分:0)
根据AudioClip
的文档,如果您有setCycleCount(INDEFINITE)
,那么它将继续循环,直到stop()
被调用。假设这一点,我会检查您的其余代码,以确保您在某处没有stop()
电话。
答案 3 :(得分:0)
我知道自上次回答以来已经有一段时间但我认为我找到了解决方案。显然循环不适用于.mp3文件,将文件转换为.wav为我解决了问题!