同时播放两个声音iphone sdk

时间:2009-04-27 14:22:09

标签: iphone audio

我正在尝试在iphone上制作一个小型音乐应用。我想要一个八度音乐钢琴,它将响应触摸并播放用户触摸的键或键。我如何能够同时播放两个或更多声音,这听起来像一个和弦?我尝试使用AVFoundation,但这两种声音只是一个接一个地播放。

2 个答案:

答案 0 :(得分:2)

您必须使用AudioQueueServices。文档在这里:

Apple.com - AudioQueueServices Reference

基本上你必须编写一些代码来打开多个输出,然后填充队列并让它们在AudioQueueStart(AudioQueueRef aq)之前阻塞,直到所有内容都已准备就绪然后让它们离开。

不幸的是,AVAudioPlayer对于这类事情还不够好。

答案 1 :(得分:0)

如果您创建多个AVAudioPlayers,您可以同时播放它们,并且它们将按照文档中列出的限制进行混合(并非所有文件类型都可以同时播放)。

如果你先分配它们,然后按顺序播放它们,它们几乎会在同一时间播放。

如果您需要绝对完美的时机,请按照上述说明使用AudioQueue或使用OpenAL。

相关问题