两个简单的声音引擎

绝对轻量级的声音引擎,Audiere,支持跨平台,可以去http://sourceforge.net/projects/audiere/下载,再给个小例子,^_^


用VC6或者其他配置好工程,建个控制台程序即可
#include <iostream>
using namespace std;

#include "audiere.h"

audiere::AudioDevicePtr device(audiere::OpenDevice());
audiere::OutputStreamPtr stream(audiere::OpenSound(device, "music.wav", false));

int main()
{
 stream->setRepeat(true);
 stream->setVolume(0.5f); // 50% volume
 stream->play();

 int a;
 cin >> a;

 return 0;
}


简洁高效的跨平台声音库Bass!

Platform: Win32, OSX
Current version: 2.4.6

download - Win32 download - MacOSX Licensing 

上次给大家介绍过一个很小的声音库audiere,这次再给大家介绍一个很好用的声音库Bass;

Bass库是一个跨平台的声音库,目前有两个版本:Windows版本和Mac版本。在他的官方网站上可以下载相对应的版本。

这个库的使用非常的简单,以下是一个控制台代码,从设置到调用一次实现,你不但可以用它给你的游戏增加音效,还可以用它做自己的Mp3播放器了。



#include 
using namespace std;
#include "bass.h"
#pragma comment(lib, "bass.lib")

int main()
{
 HSTREAM TestSound[4]={0};
 //BASS_Init(启用设备-1表示默认,采样率,效果参数,窗口句柄,0表示使用默认数据初始化DirectSound)
 ::BASS_Init(-1, 44100, 0, 0, 0);
 //BASS_StreamCreateFile(是否从内存中加载,文件路径,播放起始位置,播放终止位置,播放效果标志位)
 TestSound[0] = ::BASS_StreamCreateFile(FALSE, "如果云知道.mp3", 0, 0, BASS_SAMPLE_LOOP); 
 TestSound[1] = ::BASS_StreamCreateFile(FALSE, "战斗.wav", 0, 0, BASS_SAMPLE_LOOP);
 
 ::BASS_SetVolume(0.3f);

 if(NULL == TestSound[0])                 //播放“如果云知道.mp3”
  ::BASS_ChannelPlay(TestSound[0],true);

 getchar();
 ::BASS_Free();
 return 0;
}


如果想要暂停可以用::BASS_ChannelStop(TestSound[i]);来实现。


posted on 2012-01-07 20:06  Hibernate4  阅读(267)  评论(0编辑  收藏  举报

导航