vs2008 fmod 配置与使用.docVIP

  • 21
  • 0
  • 约2.11千字
  • 约 4页
  • 2018-01-02 发布于河南
  • 举报
vs2008 fmod 配置与使用

游戏开发-声音篇(最简单的 FMOD应用) 最近两天学校断网,呵呵,(杯具),自己把以前的文档拿出来翻了翻,FMOD是一 个游戏声音引擎,其实自己早就下载安装了FMOD,只是自己一直没用(说真的感谢 断网,呵呵),更别提怎么编码了,迟到今天才写了一个FMOD程序,感觉没那么难 (当然只是,很简单的运用FMOD加载一首歌曲而已),没别的功能,更别提3D效果 了,好了看看我搭建的开发平台吧! 我的开发平台一直是 visual studio 2008 + FMOD,其实FMOD只需下载 SDK 开发包安装好就可以了,有关Fmod的介绍请浏览 官网 其实玩过的魔兽世界听说声音用的是 Fmod引擎。下载安装好后,里面已经有库文件 打开api 文件夹 在VS开发平台选择下,我选择的是fmodex.dll 此时还需要 lib文件夹下的 fmodex_vc.lib 静态库文件有了这些文件之后,就可以进行到最为激动地时刻--编 码。 编码前需要把fmodex.dll,fmodex_vc.lib添加到工程目录中并设置 附加依赖项 fmodex_vc.lib#pragma comment (lib, fmodex_vc.lib) 拷贝E:\FMOD Programmers API Win32\api\inc下的头文件到自己的工程目录下,并 全部添加到自己的工程中,编写代码: Code: #include fmod.hpp #include fmod_errors.h #include stdio.h #include windows.h #include conio.h void ERRCHECK(FMOD_RESULT result) { if (result != FMOD_OK) { printf(FMOD error! (%d) %s\n, result, FMOD_ErrorString(result)); exit(-1); } } int main() { FMOD_RESULT result; FMOD::System * system; // 创建Fmod主系统 result = FMOD::System_Create(system); if (result != FMOD_OK) { printf(FMOD error! (%d) %s\n, result, FMOD_ErrorString(result)); exit(-1); } // 初始化Fmod系统init方法 result = system-init(1,FMOD_INIT_NORMAL,0); if (result != FMOD_OK) { printf(FMOD error! (%d) %s\n, result, FMOD_ErrorString(result)); exit(-1); } // 检测版本号,支持吗? unsignedint version; result = system-getVersion(version); ERRCHECK(result); if (version FMOD_VERSION) { printf(Error! You are using an old version of FMOD %08x. This program requires %08x\n, version, FMOD_VERSION); return 0; } // 加载媒体文件并播放 FMOD::Sound *sound; result = system-createStream(media/许嵩 - 城府.mp3,FMOD_3D,0,sound); // 其他格式:FMOD_NONBLOCKING ERRCHECK(result); FMOD::Channel *channel;// 定义Channel对象 // 计算媒体文件的长度 unsignedint lenms; result = sound-getLength(lenms, FMOD_TIMEUNIT_MS); ERRCHECK(result); printf(Total CD length %02d:%02d\n\n, lenms / 1000 / 60, lenms / 1000 % 60, lenms / 10 % 100); result = system-playSound(FMOD_CHANNEL_FREE,sound,false,channel); Sleep(lenms*60*1000);//一定要sleep一下,要不然程序马上返回了,听不到声音,呵呵 ERRCHECK(result); return 0; } 最后工程目录为: 其实查看F

文档评论(0)

1亿VIP精品文档

相关文档