2

我正在使用 libgdx 为我正在编写的游戏播放一些背景音乐。我有一系列潜在的音乐要播放,我希望当当前歌曲结束时,从数组中随机选择另一首。

我遇到的问题是音乐完成后的工作。

Music 类似乎没有我可以附加的任何事件处理程序,也没有办法告诉我完成特定音乐需要多长时间。

想到的唯一想法涉及轮询

music.isPlaying()

在某种循环上,能够确定它何时停止。但在我看来,这是一个丑陋的解决方案——如果(比如说)用户关闭了声音,它就不起作用。

还有什么我可以做的吗?

4

1 回答 1

3

在最新版本的 LibGDX 中,您可以OnCompletetionListener为您的Music. 请参阅文档。当您的音乐的当前播放结束时,它将被调用。

使用时Sound,此功能存在一个已知问题。借助需要支持的 Android API,Sound 确实无法知道它何时完成。在这种情况下,我建议使用 gdx-audio 扩展,但它更底层,不适用于 GWT/iOS。见维基

于 2013-11-10T12:08:42.997 回答