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

标签 android c++ qt audio qtmultimedia

我的游戏有几个不同的同步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/

相关文章:

java - 如何通过 Android 的帐户管理器类检索 Twitter 和 facebook 身份验证和 token

c++ - 为什么它在不同的 ide online 中有不同的行为

C++17 operator==() 和 operator!=() 代码在 C++20 中失败

c++ - C++中的字符串选择排序

c++ - QLabel 未从插槽调用更新

Android房间数据库创建没有ID的实体对象

java - 请推荐关于逆向工程混淆代码的好博客、文章或文档

java - 获取高分辨率联系人照片

c++ - QT清除小部件内容

qt - 在嵌入式应用程序中部署 qml 文件时,哪种方法最好?