我的游戏有几个不同的同步QSoundEffects
(主要是枪声),我像这样简单地玩它们:
effect.setVolume(0.5f);
effect.play();
声音数据已在应用程序初始化时预先加载。
在我的 Ubuntu
桌面上,此功能完美运行,但在 Android
上,某些声音无法播放。在我重新启动应用程序之前,有问题的声音每次都可能不同。
什么可能导致这种情况?
最佳答案
self 回答:
并发 QSoundEffects
似乎有最大计数。这是预料之中的,但它似乎有效,因此只有前 N 个音效按照其创建的顺序播放。其余的都被忽略了。如果您首先停止正在播放的其他一些声音,则没有任何帮助。这让我相信 QSoundEffects
已永久映射到免费音频流。
我尝试在需要时动态设置一些源,但它不稳定并且PulseAudio
随机崩溃。所以...现在看来我会采用 OpenAL Soft
路线,因为它很容易为 Android
进行编译。
关于android - 某些 QSoundEffects 无法在 Android 上播放(永远),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35689966/