IOS开发中利用AudioToolbox播放系统声音

来源:互联网 发布:oracle调用java http 编辑:程序博客网 时间:2024/05/21 17:39

1.AudioToolbox概述

通过AudioToolbox框架,可以将短声音注册到system sound服务上,被注册到system sound服务上的声音称之为 system sounds。它必须满足下面几个条件。
(1).播放的时间不能超过30秒
(2).数据必须是 PCM或者IMA4流格式
(3).必须被打包成下面三个格式之一:Core Audio Format (.caf), Waveform audio (.wav), 或者 Audio Interchange File (.aiff) 声音文件必须放到设备的本地文件夹下面。通过AudioServicesCreateSystemSoundID方法注册这个声音文件.

2.AudioToolbox使用

2.1 回调函数

void _systemSoundDidComplete(SystemSoundID ssID, void *clientData) {    AudioServicesDisposeSystemSoundID(ssID);}

2.2 注册以及播放声音

- (void)playClick {    NSString *sndPath = [[NSBundle mainBundle] pathForResource:@"click" ofType:@"wav"];    CFURLRef baseURL = (CFURLRef)CFBridgingRetain([NSURL fileURLWithPath:sndPath]);    SystemSoundID sysSound;    AudioServicesCreateSystemSoundID(baseURL, &sysSound);    CFRelease(baseURL);    AudioServicesAddSystemSoundCompletion(sysSound, NULL, NULL, _systemSoundDidComplete, NULL);    AudioServicesPlaySystemSound(sysSound);}


阅读全文
0 0