多音效播放本地調試OK!打包到android播放不正常

昨天打包的項目在手機上進行調試,發現了一個很奇怪的問題。在本地調試是OK的
手機上音效部分播放的過程中,總是剛開始播放就沒有了見,或者根本就不播放。就好像人想說一句話,可是說了兩個字就沒有下文了,很是讓人鬱悶。
作爲小白,剛開始我以爲是音效文件的mp3格式的大小寫的問題,檢查了一遍。沒發現異常!然後作爲新手的我,突發異想,是不是音頻文件在打包的過程中沒有完全導入進去,音頻文件受損,所以出現這樣的情況?
再仔細的調試聆聽一下,發現背景音樂,和關卡切換音樂是OK的,並且背景音樂的文件要比音效部分的文件大的多。至此揚揚的突發異想基本上被否定了!
然後在網上開始尋找答案,發現了確實有存在着和我一樣問題的朋友!他們的解決方法,有一種是對音效的播放是否完全做一個判斷。直到上一段音頻播放完全以後,再播放下一段音頻。但是這對於我手邊的項目來說又是不切合實際的,當子彈碰撞到物體以後發出音效,如果這個音效時間有些長,我了個去,那豈不是成大長調,一直播放了。
繼續尋找答案,終於在一位老大口中找到了答案。
聲道問題,在打包的時候把Cocos2dxSound.java文件夾下的聲道大小手動調節一下,cocos2d-x默認的爲:

public class Cocos2dxSound {
    // ===========================================================
    // Constants
    // ===========================================================
    public static final int MAX_SIMULTANEOUS_STREAMS_DEFAULT = 5;
    public static final int MAX_SIMULTANEOUS_STREAMS_I9100 = 3;

    private static final String TAG = "Cocos2dxSound";
    ......
    }

默認值爲(5和3)儘量調的大一些。我這裏調成 20 和 5。
如果是eclipse導入項目的話,這個Cocos2dxSound.java文件路徑是:導入項目–>src–>org.cocos2dx.lib–>Cocos2dxSound.java。
不知道在編譯之前的項目中Cocos2dxSound.java文件是否要更改,文件路徑是:
項目名稱\proj.android\src\org\cocos2dx\lib\Cocos2dxSound.java
還有一個是:
項目名稱\cocos2dx\platform\android\java\src\org\cocos2dx\lib\Cocos2dxSound.java
我這裏是兩個都改了然後重新編譯一下,再檢查一下eclipse導入後的Cocos2dxSound.java文件裏面是的值是否改變。確認無誤以後,再次打包!問題解決。
遊戲過程中的音效再也不用結結巴巴的讓人聽着真實頭疼了。
參考微博(如果您從中略有收穫請幫忙頂一下,對原創作者繼續寫下去也是一種動力):
cocos2d-x 同時播放多個音效的問題

Straw:做個總結,看來你還是很努力的嗎?畢業論文什麼時候搞完?
揚揚:…..

auto sprite = CCSprite::create("風兒.png");
addChild(sprite);

揚揚:神啊!帶我走吧,我願意—-
風兒

發佈了40 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章