我正在尝试在iphone上制作一个小型音乐应用。我想要一个八度音乐钢琴,它将响应触摸并播放用户触摸的键或键。我如何能够同时播放两个或更多声音,这听起来像一个和弦?我尝试使用AVFoundation,但这两种声音只是一个接一个地播放。
答案 0 :(得分:2)
您必须使用AudioQueueServices。文档在这里:
Apple.com - AudioQueueServices Reference
基本上你必须编写一些代码来打开多个输出,然后填充队列并让它们在AudioQueueStart(AudioQueueRef aq)之前阻塞,直到所有内容都已准备就绪然后让它们离开。
不幸的是,AVAudioPlayer对于这类事情还不够好。
答案 1 :(得分:0)
如果您创建多个AVAudioPlayers,您可以同时播放它们,并且它们将按照文档中列出的限制进行混合(并非所有文件类型都可以同时播放)。
如果你先分配它们,然后按顺序播放它们,它们几乎会在同一时间播放。
如果您需要绝对完美的时机,请按照上述说明使用AudioQueue或使用OpenAL。