我的游戏有几个不同的同时QSoundEffects(主要是枪声),我简单地这样玩它们:
QSoundEffects
effect.setVolume(0.5f); effect.play();
当应用程序初始化时,声音数据已经预先加载。在我的Ubuntu桌面上,这个功能非常好用,但是在Android上,有些声音无法播放,每次都有不同的声音,直到我重新启动应用程序。是什么导致的?
Ubuntu
Android
gcuhipw91#
对自己的回答:同时播放的QSoundEffects似乎有一个最大数量。这是意料之中的,但它似乎工作,只有前N个声音效果是按照它们的创建顺序播放的。其余的只是被忽略。如果你先停止播放一些其他的声音,它没有任何帮助。这使我相信QSoundEffects是永久Map到免费的音频流。我试着在需要的时候设置一些源代码,但是它不稳定,而且PulseAudio会随机崩溃。所以...现在看来我会选择OpenAL Soft路线,因为它很容易为Android编译。
PulseAudio
OpenAL Soft
1条答案
按热度按时间gcuhipw91#
对自己的回答:
同时播放的
QSoundEffects
似乎有一个最大数量。这是意料之中的,但它似乎工作,只有前N个声音效果是按照它们的创建顺序播放的。其余的只是被忽略。如果你先停止播放一些其他的声音,它没有任何帮助。这使我相信QSoundEffects
是永久Map到免费的音频流。我试着在需要的时候设置一些源代码,但是它不稳定,而且
PulseAudio
会随机崩溃。所以...现在看来我会选择OpenAL Soft
路线,因为它很容易为Android
编译。