IrrKlang是一个可以播放WAV,MP3,OGG和FLAC文静的高级二维和三维声音引擎和音频库。
下载地址如下:http://www.ambiera.com/irrklang/downloads.html
只需要引入irrKlang的头文件,将他们的库文件(.lib)添加到链接器设置中,并将dll文件复制到适当的目录下,一般是和.exe放在同一目录下。
期中如果要加载MP3文件,需要引入ikpMP3.dll文件。
创建irrKlang::ISoundEngine,用createIrrKlangDevice初始化它并使用这个播放音频:
#include <irrklang/irrKlang.h>
using namespace irrklang;
ISoundEngine *SoundEngine = createIrrKlangDevice();
void Game::Init()
{
[...]
SoundEngine->play2D("audio/breakout.mp3", GL_TRUE);
}
创建了一个SoundEngine,用于管理所有与音频相关的代码。一旦我们初始化了引擎,便可以调用play2D函数播放音频。第一个参数为文件名,第二个参数为是否循环播放。
如果发生一些事件后进行播放音乐,需要新增触发场景:
void Game::DoCollisions()
{
for (GameObject &box : this->Levels[this->Level].Bricks)
{
if (!box.Destroyed)
{
Collision collision = CheckCollision(*Ball, box);