2012-09-11 65 views
0

我遇到與聲音有關的HTC Wildfire S頻繁崩潰問題(在Thunderbolt等其他設備上有類似的外觀但不太頻繁的崩潰)。我已經嘗試了各種各樣的方法來修復它,或者至少了解更多關於什麼問題是沒有運氣的。Wildfire S上的聲音相關崩潰w/cocos2dx

我確定這個問題與聲音有關。當我註釋掉SoundPool.play()時,問題消失。我不認爲這是SoundPool特定的,因爲我試圖使用OpenSL ES而不是減少崩潰。

我也很難接受它必然是一個低級別的聲音問題,因爲它只發生在這個標題上;但是不能(就我所能建立的)而言,其他遊戲使用相同的聲音代碼。另外,我發現幾乎沒有其他人遇到同樣問題的證據。我可以想到的遊戲特定的東西會導致這種情況(很多同時發生的聲音,頻繁的聲音,聲音格式)似乎並不是問題(我一次只減少一個聲音,開關到WAV,更小的文件,OGG,忽略不會阻止最近發生的聲音從另一個聲音)。

我們共同的代碼是建立在cocos2dx的頂部,並出現(雖然我並不完全相信)的碰撞與調整* 增加Cocos2dxSound的.java *讓那隻睡眠主線後SoundPool.play(...)returned 0第一次。

另外,萬一它可能是一個問題,APK的一些聲音會在安裝後下載。

任何想法或建議,非常感謝;這已經超出了它應有的時間。

+0

您確認是否是設備相關問題或聲音指定問題? –

+0

我可以建議的是,使用MediaPlayer實現(類似於cocos2dxMusic)重寫整個cocos2dxSound.java,這將解決問題,但需要1-2天的工作。這就是我所做的,你會從中受益,比如連續播放聲音等,或者你可以等一會兒,直到cocos2d-x團隊解決問題,但不會那麼快。 –

+0

我會仔細研究一下,儘管我對MediaPlayer的關注是相當耗費資源,尤其是對於同時發出的聲音。 cocos2d-x團隊實際上是建議我嘗試OpenSL ES的團隊。 – ajtc

回答

0

的問題無關的問題所致。當播放聲音時,它暴露了問題。不確定玩的是什麼;但我們懷疑無論出於什麼原因,都會將大多數低/中檔手機放在內存邊緣(ndk-profiler最近簽入,但簽入時未禁用,因此仍在分析)。