[功能描述]:
棋牌游戲下, 需要播放類似于"一個2", "一對2"這樣的聲音, 于是準備了三份wav檔案(yige.wav, yidui.wav, 2.wav), 分別用來發出"一個", "一對", "2"三個聲音,
[問題描述]:
1. 當玩家打出一個"2"時, 代碼中使用SimpleAudioEngine類下的 playBackgroundMusic 函式來 連續 播放 "yige.wav" 和 "2.wav"兩個音頻檔案, 但最后實際只能播放出"2"的聲音. 從代碼走讀來看, playBackgroundMusic 會將前一個播放的物件釋放掉, 導致前面一個音頻檔案還未播放完畢, 就開始播放下一個音頻檔案了.
2.將cocos2dx 的版本升級到3.9, 使用AudioEngine 類下的play2d來播放"yige.wav", 并通過setFinishCallback的回呼功能, 來播放"2.wav", 但兩個聲音之間的間隔太久, 體驗非常差.
各位大佬, 你們是怎么解決類似的問題的呢? 還是只能錄制"一個2"和"一對2"這樣的音頻檔案? 那這樣的話, 錄制的音頻檔案會多出很多.
uj5u.com熱心網友回復:
把這幾個聲音檔案合成一下,這里比如合成為”一個2”和“一對2“這兩個聲音,這樣就不會有間隔落差。其次,你之前用的是playBackgroundMusic,這個是屬于音效,所以改成音效播放會比較好。uj5u.com熱心網友回復:
沒用過cocos,不過你的音頻引擎如果可以操作采樣,自己填沖緩沖區,你可以把N個采樣合到一起播放。比如把一個和2合成一個pcm播放,或者所一對和2合成一個pcm,動態合并,這樣你只播放一個音頻。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/71097.html
標籤:Cocos2d-x
下一篇:游戲排行榜資料存盤
