flash 有播放声音时,需要手动设置一个delgate.

可是我的客户端用的cocos js,为了图省事,直接修改源码

mark一下

以下补丁..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

------------ 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);
感谢您的阅读,本文由 smallwhite's Blog 版权所有。如若转载,请注明出处:smallwhite's Blog(https://smallwhite.ml/pub/uncategorized/cocos2dx-gaf-xiu-gai-yuan-ma-rang-qi-mo-ren-bo-fang-sheng-yin.html
cocos 3.8.1 jsb chipmunk 在android 以及 ios上的区别
cocos2d html5 3.8.1 .修复Cocos2d Particle Builder plist 粒子文件 base64 图片 解压错误