在Libgdx(针对Android开发)中遇到这个问题,有时候不会播放声音。据我所知,这是一个旧声音还没有播放完毕的时候。有没有办法跟踪当前正在播放的声音并阻止它们播放新的声音。我有一个在后台运行的循环音乐,但这不会导致它,因为删除它也会产生相同的声音不匹配。我是通过AssetManager加载声音的。希望你们能提前帮助,而不是提前!
答案 0 :(得分:0)
如果你想确定当前是否播放声音,那么你就不应该这样做。当然,您可以通过存储播放时的长度和时间来实现此目的,但Sound
创建为 fire and forget 。
您可以使用Music
并使用isPlaying()
方法。
方法play()
返回新声音实例的id。您可以将ID存储在数组中,然后使用stop(id)
来停止所需的声音,或者只使用stop()
来停止该声音的所有实例。
我还建议从libGDX github wiki:
检查文件大小注意:在Android上,Sound实例的大小不能超过1mb。如果你 有一个更大的文件,使用音乐