[HGE]-源码分析-11 sound

    音效部分。

HGE的音效底层接口用的BASS库,做的事情就是把BASS库里的操作封装了一下。

这个文件里面函数挺多,外部的接口分为,Effect,music,Stream,Channel

先上图看看这些函数。





在这里感谢easis童鞋的翻译~~

这些函数都不难,只要明白函数做的事情是什么,再去看源码就特别容易了


对了对了,在这里顺便提一下Effect,Music,Stream,Channel的区别

Effect是音效,比如开枪的声音,点击鼠标的声音等等

Music是更长的音乐,比如游戏场景的背景音,过场动画时放的音乐

Stream是音效的压缩格式,一套相关的音效合在一起,同时载入和释放

至于Channel,BASS里的音乐控制都是由通道控制的,通道打开就相当于播放,其他的调整通道参数播放的效果也会改变

控制播放都是通过控制通道完成的




代码走起:


Effect:

HEFFECT CALL HGE_Impl::Effect_Load(const char *filename, DWORD size)//size不为0,filename就是指向内存块的指针
{                                                                   //size是这块内存的大小,也就是音效的大小
	DWORD _size, length, samples;
	HSAMPLE hs;
	HSTREAM hstrm;
	BASS_CHANNELINFO info;
	void *buffer, *data;

	if(hBass)//句柄型数据类型,相当于装载带内存的资源的ID
	{
		if(bSilent) return 1;
		//判断资源从内存载入,还是从文件载入
		if(size) { data=(void *)filename; _size=size; }
		else
		{
			data=Resource_
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值