音频引擎FMOD学习记录01:入门

如果说到(开源/专业/商业级)游戏音效处理库,我想大多数人应该知晓FMOD

本系列将关注音效处理库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

转载于:https://www.cnblogs.com/fengyhack/p/10603560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值