FMOD.dll的介绍
来源:互联网 发布:国际关系学院mti知乎 编辑:程序博客网 时间:2024/04/25 19:43
FMOD.dll的介绍
翻译(Robin)
Email:eway365@hotmail.com
什么是FMOD?
FMOD是一个非常简单通用的audio引擎,可以在windows,winCE,Linux,GameCube Xbox等平台上很好运行.
FMOD是一个共享软件,如果不用于商业用途可以免费使用,商业用途需要付费100美金.详细情况请关注www.fomod.org
下载后将fmod.dll和fmodvc.lib加入你的工程中.并引用头文件fmod.h
在使用fmod播入音乐之前,首先要初始化,代码如下:
FSOUND_Init(44100,32,0);
第一个参数为单乐输出的rate,单位为赫兹,在这里我们设置为44100.
第二个参数为设置最大的通道数量
第三个参数,可以指定一些标识,如果我们想的话.这里暂时置它为0.
好了,现在我们准备开始播放单乐了,可FMOD道底支持什么样的单乐格式呢?
歌曲,采样或是文件流(song,sample and stream)?
FMOD将它细分在两个API中.他们分别是FSOUND和FMUSIC
所有的music如:mod,s3m,xm,it,mid,rmi,sgt,fsb 都通过FMUSIC 这个API来播放
FSOUND API是提供给压缩格式使用的.文件一般如:wav,mp3,ogg,raw等
这些格式,你都可以通过别的软件进行互相转换.
如果你要播放的单乐是像炮弹发射一样的短小的声音,那么你可以将这些声间转成sample
Samples将在播放前先解压到内存,而且可以多次播放.
如果你要播放的是象背景音乐一样的较长的音乐,你可以得到这个音乐转化为流,这将导致
使用一些CPU和内存,因为文件从磁盘读取然后转成流需要一个过程.同时需要注意一点,在
同一时间不能多次播放
FMUSIC:
用FMUSIC播放需要一个handle,看如下代码:
handle = FMUSIC_LoadSong("YourFileName");
FMUSIC_PlaySong(handle);
现在你可能注意到,几乎每个function的第一个参数都需要一个handle;
设置单量
FMUSIC_SetMasterVolume(handle,256);
256是最高音,0表示静音
暂定单乐
FMUSIC_SetPaused(handle,true);
FMUSIC_SetPaused(handle,false);
循环播放
FMUSIC_SetLooping(handle,true);
停止音乐
FMUSIC_StopSong(handle);
free内存
FMUSIC_FreeSong(handle);
一个例子:
#include <conio.h>
#include "inc/fmod.h"
FMUSIC_MODULE* handle;
int main ()
{
// init FMOD sound system
FSOUND_Init (44100, 32, 0);
// load song
handle=FMUSIC_LoadSong ("canyon.mid");
// play song only once
// when you want to play a midi file you have to disable looping
// BEFORE playing the song else this command has no effect!
FMUSIC_SetLooping (handle, false);
// play song
FMUSIC_PlaySong (handle);
// wait until the users hits a key to end the app
while (!_kbhit())
{
}
//clean up
FMUSIC_FreeSong (handle);
FSOUND_Close();
}
下面开始介绍FSOUND
得到FSOUND的句柄:
handle = FSOUND_Sample_Load(0,"yourFileName",0,0,0);
FSOUND_PlaySound(0,handle);
这些音效在播放前将被载入内存,所以可能需要一点点时间.
第二行命令的第一个参数是播放时使用的通道.
设置音量
FSOUND_SetVolume(handle,255);
255为最大音量,0表示静音
暂停音乐
FSOUND_SetPaused(handle,true);
FSOUND_SetPaused(handle,false);
停止音乐
FSOUND_StopSound (handle);
清除内存
FSOUND_Sample_Free(handle);
看一个例子:
#include <conio.h>
#include "inc/fmod.h"
FSOUND_SAMPLE* handle;
int main ()
{
// init FMOD sound system
FSOUND_Init (44100, 32, 0);
// load and play sample
handle=FSOUND_Sample_Load (0,"sample.mp3",0, 0, 0);
FSOUND_PlaySound (0,handle);
// wait until the users hits a key to end the app
while (!_kbhit())
{
}
// clean up
FSOUND_Sample_Free (handle);
FSOUND_Close();
}
Streams:
handle=FSOUND_Stream_Open("YourFileName",0, 0, 0);
FSOUND_Stream_Play (0,handle);
停止音乐
FSOUND_Stream_Stop(handle);
清除
FSOUND_Stream_Close(handle);
一个例子:
#include <conio.h>
#include "inc/fmod.h"
FSOUND_STREAM* handle;
void main ()
{
//init FMOD sound system
FSOUND_Init (44100, 32, 0);
//load and play sample
handle=FSOUND_Stream_Open("sample.mp3",0, 0, 0);
FSOUND_Stream_Play (0,handle);
//wait until the users hits a key to end the app
while (!_kbhit())
{
}
//clean up
FSOUND_Stream_Close(handle);
FSOUND_Close();
}
- FMOD.dll的介绍
- fmod的细节
- FMOD的循环播放
- 学习fmod的使用
- FMOD
- fmod
- Vision引擎中Fmod 声音图形介绍
- Vision引擎中Fmod声音碰撞介绍
- Vision引擎中FMOD - 回响介绍
- Vision引擎中FMOD - 回响介绍
- Vision引擎中Fmod - 事件介绍
- DLL用法的介绍
- FMOD音频引擎的简单使用
- FMOD 学习笔记--------需要的资源
- FMOD.一款易用的声音引擎
- FMOD在C#下的基本使用
- Vision引擎中Fmod碰撞几何网格介绍
- 介绍HID_DLL.dll的使用
- 今天签工作了!
- 利用VC++与MSXML解析XML文档
- 共享:在UTF-8编码情况下PHP截取中文字符串的代码
- Windows XP Shut Down and Automatic Reboot Problems(Windows系统关机时自动重新启动问题)
- VB制作资源文件
- FMOD.dll的介绍
- xp终极优化01
- xp终极优化02
- xp终极优化03
- xp终极优化04
- xp终极优化05
- DDE编程VB(这是以前在CSDN-vb社区混时看到的,写得比较清楚,原理讲得一清二楚)
- ajax 常用函数
- 在VC中应用MSXML DOM 的一些基本实现方法