【发布时间】:2012-10-15 19:48:03
【问题描述】:
我正在做一个应用程序,它涉及以多轨格式(鼓、人声、吉他、钢琴等)播放歌曲。我不需要对每个音轨进行任何花哨的音频处理,我需要做的就是播放、暂停和静音/取消静音每个音轨。
我一直在使用多个 AVAudioPlayer 实例,但在执行设备测试时,我注意到曲目在第一次播放时播放时非常不同步。此外,当我暂停并播放曲目时,它们会继续变得更加不同步。经过一番研究,我意识到 AVAudioplayer 的延迟太长,不适用于我的应用程序。
在我的应用程序中,我基本上有一个 NSArray 的 AVAudioPlayers,我会循环播放每个播放器或暂停/停止每个播放器,我确信这是导致它在设备上不同步的原因。
看起来苹果的音频混音器对我来说很好用,但是当我尝试实现它时,我得到一个我无法弄清楚的 EXC_BAD_ACCESS 错误。
我知道答案是使用 OpenAL 或音频单元,但当我需要做的只是同时播放大约 5 个 .mp3 曲目时,似乎没有必要花几周时间来学习这些。有没有人对如何做到这一点有任何建议?谢谢
【问题讨论】:
-
OpenAL 不支持开箱即用的 MP3。
标签: objective-c ios core-audio openal audiounit