0

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

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

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

4

1 回答 1

0

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

于 2013-07-11T04:10:30.660 回答