iOS移动设备进行音频播放时,可以使用openal
注意:openal 默认开启的是手机听筒(有多个播放设备 :alcopendevice(null)),如果想让声音通过扬声器进行播放,可通过audiosession的audiosessionsetproperty进行设置:kaudiosessionproperty_overridecategorydefaulttospeaker,此时声音会即从扬声器出来,也从听筒出来。
使用openal播放声音的步骤:
1 alcopendevice(null)-----得到设备D
获取设备可以通过打开一个null直接打开听筒,也可以枚举后,选择一个使用。如下:
- (void) enumDevices {
ALboolean enumeration;
enumeration = alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT");
if (enumeration == AL_FALSE) {
NSLog(@"iOS dosn't support ALC_ENUMERATION_EXT");
return;
}
ALCchar * devices = alcGetString(NULL, ALC_DEVICE_SPECIFIER);
//ALCchar * devices = alcGetString(NULL, ALC_DEFAULT_ALL_DEVICES_SPECIFIER);
const ALCchar *device = devices, *next = devices + 1;
size_t len = 0;
NSLog(@"Devices list:
");
while (device && *device != '