游戏开发论坛

 找回密码
 立即注册
搜索
查看: 44917|回复: 25

音频引擎FMOD的使用(一)

[复制链接]

33

主题

544

帖子

554

积分

高级会员

Rank: 4

积分
554
发表于 2005-9-13 15:54:00 | 显示全部楼层 |阅读模式
经常看到好多人问怎么在游戏里播放MP3,怎么播放MIDI等很多问题
当然使用DirectShow,DirectMusic可以解决问题
但是完整学习DirectShow和DirectMusic需要大量的时间和精力
有时候仅仅为了在一个DEMO里使用MIDI而花费大量的时间在学习DirectMusic不是很花算的.而学习DirectShow播放mp3则似乎更加麻烦

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

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


  1. //////////////////////////////////////////////////////////////////////

  2. #include <fmod.hpp>
  3. #include <fmod_errors.h>
  4. #include <windows.h>
  5. #include <stdio.h>
  6. #include <conio.h>           //包含头文件



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


  12. FMOD::System_Create(&system);     //创建system
  13.    
  14. system->init(32, FMOD_INIT_NORMAL, 0);  //初始化
  15.    
  16. system->createStream("1.mp3", FMOD_HARDWARE, 0, &sound);  //创建声音

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

  18.   system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel);
  19.                  channel->setVolume(0.2);    //播放声音
  20.        
  21.   Sleep(10);


  22. if(getchar()==27)
  23.     {
  24.       sound->release();//
  25.   
  26.       system->close();//
  27.    
  28.       system->release();//释放资源         
  29.    
  30.     }

  31. }
  32. //////////////////////////////////////////////////////////////////
复制代码


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


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

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



7

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2005-9-14 13:04:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

上面的兄弟有点傻~ 呵呵  这东西当然不花钱了

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-14 15:26:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

你才有点傻!
fmod如果用做商业用途要100多¥的版权费,非商业是free的。自己上fmod的网站看看.

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-14 15:27:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

打错了,是$,不是¥.

6

主题

42

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2005-9-14 23:48:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

玩过一端时间,确实不错的东西,很多游戏都拿这个东西搞!

3

主题

36

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2005-10-20 09:36:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

多谢

0

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2005-12-14 09:02:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

受教

3

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2006-1-12 10:18:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

哎~~还是用OPENAL好一点吧~至少是免费的.....

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2006-6-6 17:37:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

两个版本下载哪一个?

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
发表于 2006-7-15 12:54:00 | 显示全部楼层

Re:音频引擎FMOD的使用(一)

其实Dirctshow播放MP3也不是很麻烦就是要建立给IGRAPHBUILDER对象而已
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-12-22 21:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表