iOS支持的音频格式和音效的使用
1.iOS支持的音频格式
音频格式 |
硬件解码 |
软件解码 |
AAC |
YES |
YES |
ALAC |
YES |
YES |
HE-AAC |
YES |
|
iLBC |
YES |
|
IMA4 |
YES |
|
Linea PCM |
YES |
|
MP3 |
YES |
YES |
μ-law and a-law |
YES |
|
CAF |
YES |
YES |
注意:硬件解码器一次只能对一个音频文件解码
------------------------------------------------------------------------------------------------------------------------------------------------------
2.关于音效的使用
•音效又称短音频,是一个声音文件,在应用程序中起到点缀效果,用于提升应用程序的整体用户体验
•通常短音效在程序中的播放时长为1~2秒,对于某些特殊动画效果的点缀音效可以略长
•由于音效的播放相对比较频繁,为了不影响应用程序的性能,在实际应用中通常使用非压缩的音频格式(AIFF)或者CAF音频格式,从而减低系统在音频解码上的消耗,达到省电的目的
•使用系统声音服务播放音效,需要导入AudioToolbox框架
•系统声音服务通过SystemSoundID来播放声音文件,对于同一个声音文件,可以创建多个SystemSoundID
•系统声音服务是一套C语言的框架
•为了提高应用程序性能,避免声音文件被重复加载,通常采用单例模式处理系统声音的播放
例子:加载和播放音效代码
// 加载音效
SystemSoundID soundID;
NSString *path = [_soundBundle pathForResource:name ofType:nil];
NSURL *url = [NSURL fileURLWithPath:path];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID);
return soundID;
// 播放音效
AudioServicesPlaySystemSound(soundID);
// 播放音效同时振动(当用户静音时,可以通过振动提示用户注意重要操作)
AudioServicesPlayAlertSound(soundID);