gpt4 book ai didi

java - 在后台使用 javax.sound.sampled.Clip 运行声音

转载 作者:行者123 更新时间:2023-12-01 18:14:01 24 4
gpt4 key购买 nike

因此,我尝试使用下面的代码创建一个游戏介绍,并在更改图片时从某个点开始播放音乐。播放音频,但会暂停介绍,直到轨道结束,然后介绍继续。有什么办法可以让轨道在后台播放吗?谢谢

public void launcherbackgroundsound(File lbgs)
{
try
{
Clip mm_clip = AudioSystem.getClip();
mm_clip.open(AudioSystem.getAudioInputStream(lbgs));
mm_clip.start();
Thread.sleep(mm_clip.getMicrosecondLength()/1000);
}
catch (Exception lbgs_err1)
{
System.out.println("Music track not found! No audio to play in game! ");
}

}

最佳答案

丢失Thread.sleep命令。

这就是你所要做的。 Clip 将在其自己的线程中自动播放。播放时,剪辑会被赋予自己的“守护进程”状态线程。只要您的程序正在运行,守护线程就会继续执行。守护线程与 Clips 和 SourceDataLines 一起使用,以便在所有正常线程完成后,未完成的声音不会阻止程序结束。

此外,您应该在启动期间加载 Clip,而不是在启动之前加载。剪辑被设计为预加载并保存在内存中,以便根据需要使用。因此,将加载的剪辑存储为类级变量/实例变量。这是常见的做法。

关于java - 在后台使用 javax.sound.sampled.Clip 运行声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60407351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com