检测音乐何时播放完毕

时间:2013-11-09 21:44:03

标签: android libgdx audio-player android-music-player

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

我遇到的问题是音乐结束时的问题。

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

想到的唯一想法是投票

music.isPlaying()

在某种循环中,能够确定何时停止。但是在我看来这是一个丑陋的解决方案 - 如果(比方说)用户已关闭声音,这将无效。

我还能做什么吗?

1 个答案:

答案 0 :(得分:2)

在最新版本的LibGDX中,您可以为OnCompletetionListener定义Music。见the documentation。当您的音乐当前播放结束时,它将被调用。

使用Sound时,此功能存在已知问题。由于需要支持Android API,因此使用Sound确实无法知道它何时完成。在这种情况下,我建议使用gdx-audio扩展,但它更低级别,不适用于GWT / iOS。请参阅the wiki