天天看點

Cocos2dx 3.10音頻無法正常播放問題的解決之路

先說開發環境:

Mac OS: OS X EI 10.11.5

XCode: 7.3.1

Cocos 3.10 (cocos2dx 3.10)

從5月19日以來,碰到了一個mp3動作音頻播放(playEffect)異常的問題。

現象如下:

5月19日以前的版本,所有動作音頻都能正常播放。

之後開始就有問題了:

1、用手機連接配接電腦直接調試時,所有音頻播放正常;

2、制作成iPA後釋出内測(無論是TestFlight或者是直接安裝),

有些手機能夠正常播放所有音頻,

而有的手機隻能播放部分音頻。

比如我的iPAD,就可以播放所有音頻,而iPhone手機就隻能播放部分。

其他使用者iPhone手機有些能夠正常播放,有些也是隻能播放一部分音頻。

于是開始各種懷疑,5月20日進行了OS的更新到最新10.11.5,時間上好想不對。

c++代碼問題?不應該,程式邏輯處理什麼都正常,而且代碼對比舊版本反複檢查沒有發現疑點。

音頻檔案有問題?也不像呀,一直是這一套音頻檔案,沒有任何修改。

加Log、履曆等各種分析,都沒發現問題所在,

百度谷歌都求了,沒有發現有相同問題的現象,苦惱了4天,第五天的時候,我都快崩潰了,還是調查不出原因。

打電話給蘋果開發者熱線,他們建議我檢查一下音頻檔案的格式是不是不符合規範。

還有李老師建議我把動作音頻換成wav檔案試試。我都嘗試了,問題依舊。

不得已,隻好找了一個4月份的版本來進行測試,分析原因。

從AI代碼不變,UI用最新的,到AI代碼最新,UI用舊的,

發現UI用舊的代碼時,音頻播放沒有問題了!

分析差別,

原來舊UI的音頻是以Group的方式加入到項目中的(顯示為黃色),

新UI的音頻是用建立檔案夾方式加入到項目中(顯示為藍色目錄)。

想到可能是因為音頻檔案引入的問題導緻,于是在新AI代碼+新UI代碼下,

修改音頻素材的加入方式為Group方式。

結果==>音頻播放正常了!!!!

5天的奮鬥,我淚噴,直接崩潰了!

我強烈的感覺這是Cocos2dx引擎的問題,但是不知道我的哪個動作引發了這個問題。

問題解決,我可以睡好覺了,希望Cocos2dx的大神能夠從我的描述中看到問題所在,能夠給予準确地指點。

也希望碰到此類問題的夥伴能有一個啟發。