音频引擎FMOD学习记录01:入门
2015-01-30 22:46
591 查看
如果说到(开源/专业/商业级)游戏音效处理库,我想大多数人应该知晓FMOD
本系列将关注音效处理库FMOD,本文仅作为一个简单的开始。
可能的话,我会将FMOD与其他开源库如OpenAL/IrrKlang/SDL等进行比较。
FMOD官网戳这里http://www.fmod.org/
我们先下载用于Windows平台的API(准确的说应该是SDK)
下载的是一个安装包,安装完成之后将相应路径(inc和lib)添加到工程中,
可能会是如下这样子
下面是一个极简的实例
这个示例中,同时播放两个音频1.mp3和2.mp3
代码很简单而且基本上见名知意,因此不做过多解释。
本文原创,博文地址
http://blog.csdn.net/fengyhack/article/details/43318575
本系列将关注音效处理库FMOD,本文仅作为一个简单的开始。
可能的话,我会将FMOD与其他开源库如OpenAL/IrrKlang/SDL等进行比较。
FMOD官网戳这里http://www.fmod.org/
我们先下载用于Windows平台的API(准确的说应该是SDK)
下载的是一个安装包,安装完成之后将相应路径(inc和lib)添加到工程中,
可能会是如下这样子
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="PropertySheets" /> <PropertyGroup Label="UserMacros" /> <PropertyGroup> <IncludePath>D:\FMOD\api\lowlevel\inc;D:\FMOD\api\studio\inc;D:\FMOD\api\fsbank\inc;$(IncludePath)</IncludePath> <LibraryPath>D:\FMOD\api\lowlevel\lib;D:\FMOD\api\studio\lib;D:\FMOD\api\fsbank\lib;$(LibraryPath)</LibraryPath> </PropertyGroup> <ItemDefinitionGroup /> <ItemGroup /> </Project>
下面是一个极简的实例
#include <fmod.hpp> #include <stdio.h> using namespace FMOD; #pragma comment(lib,"fmod_vc.lib") #pragma warning(disable:4996) int main(void) { System* sys = NULL; Sound* snd1 = NULL; Sound* snd2 = NULL; //Channel* ch1 = NULL; //Channel* ch2 = NULL; System_Create(&sys); sys->init(10, FMOD_INIT_NORMAL, NULL); sys->createStream("F:\\1.mp3", FMOD_DEFAULT, NULL, &snd1); sys->createStream("F:\\2.mp3", FMOD_DEFAULT, NULL, &snd2); //snd1->setMusicSpeed(2.0); sys->playSound(snd1, NULL, false, NULL/*&ch1*/); sys->playSound(snd2, NULL, false, NULL/*&ch2*/); printf("Press a key (press \'Q/q\' to quit):"); char key = 0; while (key!='q'||key!='Q') { /* 这个循环是为了让主函数永不结束(除非输入'Q'键) 这样FMOD就有机会继续执行任务(播放声音) 否则主函数会继续执行下一语句,直接退出 实际情况不应该是这样,这里仅仅作为一个示例罢了 实际情况应该是有一个前台任务在执行,在后台播放声音 */ key = getchar(); } }
这个示例中,同时播放两个音频1.mp3和2.mp3
代码很简单而且基本上见名知意,因此不做过多解释。
本文原创,博文地址
http://blog.csdn.net/fengyhack/article/details/43318575
相关文章推荐
- 音频引擎FMOD学习记录02:控制暂停/继续,调节音量,设置声效
- 学习记录--Beetl2.4 Java新一代的模板引擎【01】
- [cocos2d-x学习笔记][入门基础]Box-2d物理引擎的使用01
- 音频引擎IrrKlang学习笔记01:播放控制与音效设置
- 分支程序设计01 - 零基础入门学习C语言10
- 分支程序设计01 - 零基础入门学习C语言10
- 2. LINQ入门学习记录—LINQ to Objects
- 黑莓开发学习(入门教程)01-前言
- 【转载】黑莓开发学习(入门教程)01-前言
- 寄存器(CPU工作原理)01 - 零基础入门学习汇编语言06
- 顺序程序设计01 - 零基础入门学习C语言07
- FMOD音频引擎简单使用
- 寄存器(内存访问)01 - 零基础入门学习汇编语言13
- 数组01 - 零基础入门学习C语言23
- 基础知识01 - 零基础入门学习汇编语言01
- 循环控制结构程序01 - 零基础入门学习C语言16
- IBATIS入门学习记录
- Python核心编程(第二版)学习笔记01 【第2章 快速入门】
- C语言概述01 - 零基础入门学习C语言01(新版)
- [Havok] - Havok Physics物理引擎的学习入门