关于openAL

想给游戏(其实还不算游戏,暂时算一个框架吧,以后再丰富)增加背景音乐和效果音,于是考虑是用OpenAL还是Dsound,后来一想,既然都用openGL没有用D3D了,那干脆也用openAL算了,也许openAL没有DSound方便?不清楚,就算用过DSound也不记得了=。=,反正最后背景音乐和效果音都正确地在多线程中播放出来时,还是很激动的。

 

btw注意到一件事,由于是游戏的背景音乐,所以用多线程播放时cpu占用率绝对不能高,但是参考http://www.devmaster.net/articles/openal-tutorials/上的代码写出来的程序,结果是卡的一塌糊涂,就算不进行任何操作,cpu占用率也快接近100%,但是用openAL自带的sample代码播放就无比流畅,几乎不怎么占用资源的样子,主要区别就在于buffer的使用技巧吧,有些代码还不是很明白,但是体会到openAL真的是一个很灵活的东西,很有潜力哦~ >o<

 

如果游戏中有多个音乐需要播放的话,要先用alGenSources统一分配sourceID(注意必须在openAL初始化之后执行才有效),这一点感觉和openGL需要先给材质统一申请textureID很相似(注意必须在glMakeCurrent绑定hRC后执行才有效)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值