使用AVPlayer保留几个mp3声音

时间:2013-07-09 09:12:05

标签: iphone ios xcode avplayer system-sounds

我正在制作一本互动儿童书,为此我已经建立了一个滑动的声音窗口。对于声音.caf我在内存中加载不同的声音没有任何问题因为我使用了SystemSoundID:

AudioServicesCreateSystemSoundID(CFBundleCopyResourceURL(CFBundleGetMainBundle(),(CFStringRef)@"name_sound", CFSTR("caf"), NULL), &systemSoundIDs[0]);

然而,我也有mp3文件,对于那种声音,我不能使用我之前解释过的方式(systemSoundID不支持mp3)。是否可以使用AVPlayer做到这一点?有没有办法同时在内存中加载几个mp3声音?

1 个答案:

答案 0 :(得分:0)

一般情况下,如果文件是MP3或AAC编码,则无法在iPhone上同时播放2种声音,因为只有一条硬件路径可以实时解码这些压缩格式。您可以播放已经解压缩的多个文件,因此您可以做的一件事就是提前读取AAC或MP3文件并将其另存为未压缩的.caf。您需要小心管理磁盘空间,但这只是要支付的价格。