cocos2dx自带的音效播放有SimpleAudioEngine和AudioEngine两个,SimpleAudioEngine可以播放简单的音效,
如果播放音效数量过多的话,多导致有些音效播放失败。AudioEngine是一个不成熟的音效引擎,笔者在两个项目中
都试过用它,结果在安卓手机上频繁切换音效的过程中出现闪退。
fmod很强大,而且一个音效文件可以支持多平台。而且音效文件不容易被盗。
在官网下载cocos2dx的demo,然后下载对应平台的fmod的库,将安装好的库文件放在同一个文件夹,另外所有头文件
也放在一个文件夹内。
win32的库有:
fmod_vc.lib
fmodL_vc.lib
fmodstudio_vc.lib
fmodstudioL_vc.lib
fsbank_vc.lib
对于64位系统的,可以使用带64的库文件。
在vs的库路径和附加依赖项中加入写库文件,在附加包含目录添加头文件目录,运行文件即可。
对应安卓平台会有许多问题,比如声音会出现颤抖,处理方法可以看官网的教学文档。
安卓接入过程:
1.修改项目的jni目录Android.mk文件。在文件开始的地方加入
1 LOCAL_PATH := $(call my-dir) 2 3 include $(CLEAR_VARS) 4 LOCAL_MODULE := fmodstudio 5 LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libfmodstudio.so 6 include $(PREBUILT_SHARED_LIBRARY) 7 8 include $(CLEAR_VARS) 9 LOCAL_MODULE := fmodstudioL 10 LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libfmodstudioL.so 11 include $(PREBUILT_SHARED_LIBRARY) 12 13 include $(CLEAR_VARS) 14 LOCAL_MODULE := fmod 15 LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libfmod.so 16 include $(PREBUILT_SHARED_LIBRARY) 17 18 include $(CLEAR_VARS) 19 LOCAL_MODULE := fmodL 20 LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libfmodL.so 21 include $(PREBUILT_SHARED_LIBRARY)