使用 AVPlayer 保留多个 mp3 声音
Posted
技术标签:
【中文标题】使用 AVPlayer 保留多个 mp3 声音【英文标题】:Retain several mp3 sounds using AVPlayer 【发布时间】:2013-07-09 09:12:05 【问题描述】:我正在编写一本交互式儿童读物,为此我构建了一个声音滑动窗口。对于声音 .caf,我在内存中加载不同的声音没有任何问题,因为我使用了 SystemSoundID:
AudioservicesCreateSystemSoundID(CFBundleCopyResourceURL(CFBundleGetMainBundle(),(CFStringRef)@"name_sound", CFSTR("caf"), NULL), &systemSoundIDs[0]);
但是我也有 mp3 文件,对于那种声音,我不能使用我之前解释的方式(systemSoundID 不支持 mp3)。是否可以使用 AVPlayer 做到这一点?有没有办法同时在内存中加载多个 mp3 声音?
【问题讨论】:
【参考方案1】:一般来说,如果文件都是 MP3 或 AAC 编码的,则您不能在 iPhone 上同时播放 2 种声音,因为这些压缩格式的实时解码只有一个硬件路径。您可以播放多个已解压缩的文件,因此您可以做的一件事就是提前读取 AAC 或 MP3 文件并将其保存为未压缩的 .caf。您需要小心管理磁盘空间,但这只是要付出的代价。
【讨论】:
以上是关于使用 AVPlayer 保留多个 mp3 声音的主要内容,如果未能解决你的问题,请参考以下文章
AVPlayer/AudioPlayer:没有错误但没有声音