某些QSoundEffects无法在Android上播放(永远)

Some QSoundEffects don't play (ever) on Android

本文关键字:播放 永远 Android QSoundEffects 某些      更新时间:2023-10-16

我的游戏有几个不同的同时QSoundEffects(主要是枪声),我简单地像这样玩它们:

effect.setVolume(0.5f);
effect.play();

声音数据已在应用程序初始化时预先加载。

在我的Ubuntu桌面上,这工作得很好,但在Android有些声音无法播放。每次有问题的声音都可能不同,直到我重新启动应用程序。

什么可能导致这种情况?

对自己的回答:

似乎同时QSoundEffects有最大计数。这是意料之中的,但它似乎有效,因此只有前 N 个音效按其创建顺序播放。其余的只是被忽略。如果您首先停止正在播放的其他一些声音,则没有任何帮助。这让我相信QSoundEffects永久映射到免费音频流。

我试图在需要时即时设置一些源,但它不稳定并且PulseAudio随机崩溃。 所以...现在看来我会走OpenAL Soft路线,因为它很容易为Android编译。