我正在嘗試創建一個基於音樂的遊戲(類似於「我的歌唱怪物」),這個想法是我有一個場景可以放置並從場景中移除幾個不同的角色,每個角色都有一個獨一無二的mp3文件,用於演唱。在Android上同步多個音頻軌跡
我用cocos2dx構建我的遊戲,雖然對於聲音我正在使用自定義引擎,它目前在Android上使用MediaPlayer API。只是在場景加載時播放它們,然後根據場景中的哪個角色進行靜音和取消靜音。問題是,在較舊的設備上,聲音似乎不同步,我假設我需要一種預先緩存加載前的mp3文件。
我試着在高級中創建所有mediaPlayers並使用prepare()方法,然後將它們保存在hashmap中,並在場景開始播放時使用play()。不幸的是它沒有奏效,曲目仍然不同步。我不確定MediaPlayer是如何工作的,所以我不知道在高級中創建它是否等同於預緩存。標準的cocos2dx聲音引擎使用soundpool,我知道這對大文件不好,我不確定它是否有緩存機制。在Ios上我已經有了一個使用openAL的聲音引擎,並且在我測試過的ipad 4上它工作得很好。
你建議我爲了同步曲目做什麼?實現另一個聲音引擎?也許基於openSL?或者以某種方式保留一個計時器並使用它來同步軌道。
如何爲這樣的遊戲設計聲音,讓所有音軌同步到一起是最重要的事情?
crossposting是灰心:http://gamedev.stackexchange.com/questions/61554/syncing-multiple-audio-tracks-on-android –