2016-02-29 78 views
1

我的遊戲有幾個不同的同時QSoundEffects(主要是槍聲響)和我玩他們只是這樣的:有些QSoundEffects不玩(曾經)在Android

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

聲音數據已經預先加載當應用程序初始化時。

在我的Ubuntu桌面上,這個功能完美無缺,但在Android上,一些聲音無法播放。有問題的聲音可能會每次都不同,直到我重新啓動應用程序。

什麼可能導致此?

回答

1

回答自己:

似乎有一個爲同時QSoundEffects最大計數。這是預料之中的,但它似乎起作用,所以只有前N個音效按其創作順序播放。其餘的都被忽略了。如果你第一次停止其他正在播放的聲音,它不會有任何幫助。這使我相信QSoundEffects被永久映射到免費音頻流。

我試圖在需要時即時設置一些源,但它不穩定,PulseAudio隨機崩潰。所以......現在看來我會採用OpenAL Soft的路線,因爲它很容易編譯爲Android。