OpenAl 学习笔记 Openal 的基本组成就是上图所描述的,包括一个设备device,设备里面包含至少一个context,和若干个缓冲,而context 里面只包含一个listener,和若干个源
源(sou rce)是指向放声音的空间
明白源是非常 的重要
源只播放内存中的背景声音数据
源也给出了特殊的属性如位置和速度
使用 openal 的第一步就是包含头文件了: #inclu de #inclu de #inclu de #inclu de 使用过 opengl 的肯定对 al 的头文件感觉熟悉,其实 al 就是模仿 gl 写的
关于设备的创建: ALCdevice *alcOpenDevice( const ALCchar *devicename ); 1,上面是创建的函数,返回一个指向设备的指针,如果返回NULL,那肯定是出了问题
2,传入值是一个ALCchar*,其实就是一个字符串,在 alc
h 头文件中有这样的代码:typedef char ALCchar;说明 ALCchar 就是char
那传入什么值才可以
你可以传入一个现有的设备的名字,或者是一个NULL,NULL 代表新建一个默认设备
插曲:如何知道当前可用的设备,那就使用 glcGetString 函数 const ALCchar * alcGetString( ALCdevice *device, ALenum param ); Parameters device a pointer to the device to be queried param an attribute to be retrieved: ALC_DEFAULT_DEVICE_SPECIFIER ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER ALC_DEVICE_SPECIFIER