FMOD(1)
来源:互联网 发布:mindmanager mac 过期 编辑:程序博客网 时间:2024/04/27 01:04
#include "../../api/inc/fmod.hpp"
#include "../../api/inc/fmod_errors.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
然后定义声音系统(FMOD::System)、声音(FMOD::Sound)、声道(FMOD::Channel)、声音出现的位置(FMOD_VECTOR)、一个用于判断的结果(FMOD_RESULT)这几个变量。通常情况下还要定一个版本的参数用于检查当前版本是否过时。例如:
FMOD::System *system;
FMOD::Sound *sound1, *sound2, *sound3;
FMOD::Channel *channel1 = 0, *channel2 = 0, *channel3 = 0;
FMOD_RESULT result;
FMOD_VECTOR listenerpos = { 0.0f, 0.0f, -1.0f * DISTANCEFACTOR };
unsigned int version;//定义版本的变量
定义好变量之后,就开始编写我们需要的声音资源。下面是一般的步骤:
1. 创建FMOD系统。API:FMOD_RESULT System_Create( FMOD::System **
system
);
程序中:result = FMOD::System_Create(&system);
参数为指向系统变量指针的指针;如果创建系统变量成功,就返回FMOD_Ok;没有成功就返回FMOD_RESULT中的任意一项。具体看doc说明。
2.
检查当前版本是否过时。API:FMOD_RESULT System::getVersion( unsigned int *
version
);
程序中:result = system->getVersion(&version);
参数为指向版本变量的指针;如果创建版本变量成功,就返回FMOD_Ok;没有成功就返回FMOD_RESULT中的任意一项。具体看doc说明。
3. 初始化系统和声音设备。他必须在FMOD::System_Creat之后,所有用户代码之前就要执行。API:
FMOD_RESULT System::init( int
maxchannels
,
FMOD_INITFLAGS
flags
,
void *
extradriverdata
);
程序中:result = system->init(100, FMOD_INIT_NORMAL, 0);
Maxchannels:在FMOD中最大的声道数
FMOD_INITFLAGS:
FMOD_OUTPUTTYPE:输出查检
如果初始化成功,就返回FMOD_Ok;没有成功就返回FMOD_RESULT中的任意一项。具体看doc说明。
4. 开始创建自己需要的声音。API:
FMOD_RESULT System::createSound(const char *
name_or_data
,
FMOD_MODE
mode
,
FMOD_CREATESOUNDEXINFO *
exinfo
,
FMOD::Sound **
sound
);
程序中:result = system->createSound("../media/drumloop.wav", FMOD_SOFTWARE | FMOD_3D, 0, &sound1);
name_or_data
:声音资源文件名或者URL
mode
:打开声音的模式。
FMOD_CREATESOUNDEXINFO
:希望用户提供个多信息。一般设为0
FMOD::Sound
:指向声音资源变量指针的指针
- FMOD(1)
- FMOD(2)
- FMOD(3)
- 关于 % 和 fmod()
- FMOD
- fmod
- VR系列——Oculus Audio sdk文档:六、FMOD Oculus Spatializer集成指南(1)——概述
- 游戏开发-声音篇(最简单的 FMOD 应用)
- Ogre中使用FMOD作为声音引擎(一)
- Lightoj 1282 Leading and Trailing(前三后三位,学习fmod())
- 学习FMOD
- fmod ()函数
- fmod ()函数
- fmod函数
- fmod函数
- fmod 函数
- VR系列——Oculus Audio sdk文档:六、FMOD Oculus Spatializer集成指南(2)——如何使用FMOD Studio
- VR系列——Oculus Audio sdk文档:六、FMOD Oculus Spatializer集成指南(3)——安装FMOD Studio Unity Integration
- 学习FMOD
- 优秀课件笔记之财政支出的基本理论
- 校验值对象——应用Visitor模式和反射
- 优秀课件笔记之财政支出规模与结构分析
- 书写Linux下自己的shellcode
- FMOD(1)
- Flex实践—So beautiful webpage.....
- Java入门者的心声
- 优秀课件笔记之社会消费性支出—— 购买性支出之一
- FMOD(2)
- VLAN QinQ SVLAN 知识学习笔记
- FMOD(3)
- 我的Csdn开通啦
- 优秀课件笔记之社会消费性支出—— 购买性支出之二