人气 95

音频引擎FMOD的使用(一) [复制链接] [复制链接]

九艺网 2017-4-24 13:04:35

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
经常看到好多人问怎么在游戏里播放MP3,怎么播放MIDI等很多问题
当然使用DirectShow,DirectMusic可以解决问题
但是完整学习DirectShow和DirectMusic需要大量的时间和精力
有时候仅仅为了在一个DEMO里使用MIDI而花费大量的时间在学习DirectMusic不是很花算的.而学习DirectShow播放mp3则似乎更加麻烦

个人认为使用FMOD音频引擎是个很不错的选择 [em20],
原因有以下几点:
1.        避免了游戏中复杂的DirectXAPI调用
2.        FMOD的功能十分之强大,支持包括PSP在内的几乎所有游戏平台
3.        简单易用,,支持世面上几乎所有常见音频格式

这里我用一个最简短的程序来说明FMOD的使用方法


  • //////////////////////////////////////////////////////////////////////

  • #include
  • #include
  • #include
  • #include
  • #include            //包含头文件



  • void main()
  • {
  •     FMOD::System     *system;   //最主要的东东system
  •     FMOD::Sound      *sound;    //声音~~可以指想mp3等....
  •     FMOD::Channel    *channel = 0; //这个词应该怎么解释~~~哈哈


  • FMOD::System_Create(&system);     //创建system

  • system->init(32, FMOD_INIT_NORMAL, 0);  //初始化

  • system->createStream("1.mp3", FMOD_HARDWARE, 0, &sound);  //创建声音

  • sound->setMode(FMOD_LOOP_OFF);  //关闭循环

  •   system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel);
  •                  channel->setVolume(0.2);    //播放声音

  •   Sleep(10);


  • if(getchar()==27)
  •     {
  •       sound->release();//

  •       system->close();//

  •       system->release();//释放资源

  •     }

  • }
  • //////////////////////////////////////////////////////////////////

复制代码


这是一个最简单的FMOD小程序了,简单明了
从上面这段代码很容易看出,system是整个FMOD的核心部件
它必须第一个被创建,最后一个被销毁
它可以创建sound,播放sound,,,,执行许多操作~~~~
Sound则是指向声音文件的一个指针
上面的代码中,我使用CreateStream来创建sound,,当然也可以使用CreateSound
区别是后者把mp3文件一口气加载,前者是流的方式(我口齿不清~~说不清楚,5555)
以上,FMOD的使用如此简单,不是吗?


当然如果要执行上面那个最简单的代码,还需要要在官方网站/下个SDK包,,,,大概2MB多点,,,,(我没地方传),然后在编译器里包含include,lib,,,这些就不说明了

总之,FMOD功能十分的强大~~~~~~
更多有趣功能以后继续说明~



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-29 16:50 , Processed in 0.056762 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.