两个简单的声音引擎
用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
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) 编辑 收藏 举报