cocos2dx gaf 修改源碼,讓其默認播放聲音

flash 有播放聲音時,需要手動設置一個delgate.

可是我的客戶端用的cocos js,爲了圖省事,直接修改源碼

mark一下

以下補丁..


------------ frameworks/runtime-src/Classes/gafplayer/GAFAsset.cpp ------------
index e6c8ddf..0c75313 100644
@@ -11,7 +11,7 @@
 #include "GAFLoader.h"

 #include "json/document.h"
-
+#include "AudioEngine.h"
 NS_GAF_BEGIN

 //static float  _desiredCsf = 1.f;
@@ -97,6 +97,15 @@ GAFAsset* GAFAsset::create(const std::string& gafFilePath, GAFTextureLoadDelegat
     if (ret && ret->initWithGAFFile(gafFilePath, delegate, customLoader))
     {
         ret->autorelease();
+       //delgate sound
+       ret->setSoundDelegate([ret](GAFSoundInfo* sound, int32_t repeat, GAFSoundInfo::SyncEvent syncEvent){
+           std::string path = ret->getGAFFileName();
+           int slashPos = path.find_last_of("/");
+           path = path.substr(0, slashPos + 1);
+           path.append(sound->source);
+
+           cocos2d::experimental::AudioEngine::play2d(path, repeat == -1);
+       });
         return ret;
     }
     CC_SAFE_RELEASE(ret);

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