Cocos 配置 FMOD EX

来源:互联网 发布:淘宝评价系统默认评论 编辑:程序博客网 时间:2024/04/25 11:27

引擎版本Cocos2dx 3.3rc2。

cocos studio版本 2.0.5。

开发系统环境Windows64。IDE vs2013。

Cocos项目工程目录假定命名fmodtest。


1.简单创建工程,从studio新建代码cpp工程。eclipse导入能直接运行。cocos配置方式参见前篇。

2.去fmod官网fmod.org,下载FMOD Designer和FMOD EX的 windows api,android api

3.windows与android api文件下分别用于vs配置的.dl动态l库与android配置的.so动态库。实际上api接口是相同的使用方式。

4.Windows api 于 VS2013 配置方式:

①.在windows api文件夹下有 api 与 fmoddesignerapi 文件夹,这两文件夹下都有的inc(头文件夹)与 lib (lib文件夹),考到这个项目工程下得的fmodtest/proj.win32(项目工程的windows工程) 下。并在配置中依次加入包含头文件与包含库文件,附加依赖项加入fmod_event.lib与fmodex_vc.lib(lib具体选用参见同api文件下相关文档)。

②.将 api 与 fmoddesignerapi 文件夹下的 fmod_event.dll 与 fmodex.dll 考到Cocos项目工程的fmodtest/Resource文件夹中。

③ 将xxx.map3(你的mp3)文件考到fmodtest/Resource文件夹中,运行代码中加入头文件(include进去)并执行下面代码,即可运行。

FMOD_RESULT result;FMOD::System *system;result = FMOD::System_Create(&system);result = system->init(100, FMOD_INIT_NORMAL, 0);FMOD::Sound *sound;result = system->createStream("xxx.mp3", FMOD_DEFAULT, 0, &sound);FMOD::Channel *channel;result = system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel);
5.Android api 配置方式:

① 在android api文件夹下有 api 与 fmoddesignerapi 文件夹,这两文件夹下都有的 inc(头文件夹)与 lib (lib文件夹),考到这个项目工程下得的fmodtest/proj.android/jni(项目工程的windows工程) 下。

② 在fmodtest/proj.android/jni有个Android.mk文件(工程配置文件)。修改加入如下代码:

在第一行LOCAL_PATH := $(call my-dir)的下面加入

<span style="white-space:pre"></span>#fmod<span style="white-space:pre"></span>include $(CLEAR_VARS)<span style="white-space:pre"></span>LOCAL_MODULE := fmodex<span style="white-space:pre"></span>LOCAL_SRC_FILES := fmodtest/api/lib/$(TARGET_ARCH_ABI)/<span style="color:#3366ff;">libfmodex.so</span><span style="white-space:pre"></span>LOCAL_EXPORT_C_INCLUDES := Fmod/api/inc<span style="white-space:pre"></span>LOCAL_C_INCLUDES := Fmod/api/inc<span style="white-space:pre"></span>include $(PREBUILT_SHARED_LIBRARY)<span style="white-space:pre"></span>#fmod<span style="white-space:pre"></span>#fmod event<span style="white-space:pre"></span>include $(CLEAR_VARS)<span style="white-space:pre"></span>LOCAL_MODULE := fmodex_event<span style="white-space:pre"></span>LOCAL_SRC_FILES := <span style="font-family: Arial, Helvetica, sans-serif;">fmodtest</span><span style="font-family: Arial, Helvetica, sans-serif;">/api/lib/$(TARGET_ARCH_ABI)/<span style="color:#3366ff;">libfmodevent.so</span></span><span style="white-space:pre"></span>LOCAL_EXPORT_C_INCLUDES := Fmod/api/inc<span style="white-space:pre"></span>LOCAL_C_INCLUDES := Fmod/api/inc<span style="white-space:pre"></span>include $(PREBUILT_SHARED_LIBRARY)<span style="white-space:pre"></span>#fmod event

include $(BUILD_SHARED_LIBRARY)上面加入

<span style="white-space:pre"></span>LOCAL_SHARED_LIBRARIES := fmodex<span style="white-space:pre"></span>LOCAL_SHARED_LIBRARIES += fmodex_event

其中当前路径为jni文件夹,$(TARGET_ARCH_ABI)代表api/lib下的armeabi和armeabi-v7a文件夹。

播放代码和上面windows的差不多,不过注意,项目在android手机上时,resource文件夹里面的资源不能直接调用,需要拷贝出来才能使用,具体的查询相关文章,不在此文章之列。

0 0