LibGDX 多循环音效在桌面上工作,但在 Android 上不工作

Posted

技术标签:

【中文标题】LibGDX 多循环音效在桌面上工作,但在 Android 上不工作【英文标题】:LibGDX multiple looping sound effects work on Desktop but not on Android 【发布时间】:2015-06-06 18:59:59 【问题描述】:

我知道,我知道——又一个 libgdx“在桌面上工作,而不是在 android 上工作”线程......

我在循环音效方面遇到了一个奇怪的问题。

我正在开发的游戏的 Android 版本似乎只能在任何给定时间循环播放单个音效。

桌面版可以同时循环播放多个音效,同时还可以在循环播放的同时播放单曲音效,没有任何问题。 (同样,循环播放的声音会在桌面上同时播放。)

我在播放器的太空船和 Android 上有一个持续的循环音效,如果它正在播放,那么任何其他 sound.loop() 似乎都会被完全忽略,尽管它能够毫无问题地播放单人播放音效。

如果我将其中一个 soundEffectAsset.loop() 命令更改为 soundEffectAsset.play(),它会正常播放,只是不会循环播放,如果我阻止玩家的飞船播放其循环播放的引擎声音,则可以使用其他音效循环播放,但一次只能播放一个。

我已经在两个不同的安卓设备上测试过了。

我知道我玩过其他开发者的 Android 游戏,它们同时播放多个循环音效,所以我想知道是否有什么特殊的东西与 libgdx 相关,以便让它在 android 上也能正常工作它在桌面上。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。这似乎是声音的问题,在 2011 年和 2012 年报告为错误:

2011 bug report

2012 bug report

似乎没有在 2015 年修复,但您可以通过使用音乐而不是声音来解决它。到目前为止,还没有发现这样做的任何缺点。

【讨论】:

谢谢,这个解决方法似乎已经解决了这个问题:) 现在怎么样?我有一个简短的循环声音,我想根据游戏玩法改变音高。不幸的是,Music 无法做到这一点。在桌面上使用声音效果很好,但在安卓上只能播放一次。这只是56kB 中的.mp3

以上是关于LibGDX 多循环音效在桌面上工作,但在 Android 上不工作的主要内容,如果未能解决你的问题,请参考以下文章

在 libgdx 中管理桌面和设备版本之间的资产

在 Libgdx 中实现简单运动模糊的意外结果

LibGDX 和 Google Play 游戏不工作

android 的 libGDX 动画

声音无法在设备上播放完整音量(Libgdx)

如何在Android Studio中调试“桌面”libgdx应用程序