Ios 使用音频队列同时精确播放多个声音?

Ios 使用音频队列同时精确播放多个声音?,ios,swift,audio,playback,audioqueue,Ios,Swift,Audio,Playback,Audioqueue,我需要有一系列的声音样本(音频文件)正在播放一个按钮的触摸。音频样本需要同时精确地播放(想想一段音乐中的4种声音) 我用AVAudioPlayer的几个实例成功地做到了这一点,但它将失去同步。 读到这篇文章,由于缺乏精确性,这似乎不是我想要做的正确选择 音频队列(这是核心音频的一部分吗?)似乎能够实现我想要的功能,但我在Swift中几乎找不到任何代码位来设置我正在尝试的功能,即: 加载音频文件,准备播放,然后播放(我会用NSTimer触发它) 这是直接用音频队列实现的,还是我应该去别处看看? 如

我需要有一系列的声音样本(音频文件)正在播放一个按钮的触摸。音频样本需要同时精确地播放(想想一段音乐中的4种声音)

我用AVAudioPlayer的几个实例成功地做到了这一点,但它将失去同步。 读到这篇文章,由于缺乏精确性,这似乎不是我想要做的正确选择

音频队列(这是核心音频的一部分吗?)似乎能够实现我想要的功能,但我在Swift中几乎找不到任何代码位来设置我正在尝试的功能,即:

加载音频文件,准备播放,然后播放(我会用NSTimer触发它)

这是直接用音频队列实现的,还是我应该去别处看看? 如果你能给我指出正确的方向,我将非常感激


非常感谢

我不确定音频队列,但是,我已经广泛使用了
AVPlayer
,并且发现它非常准确。我没有使用它一次播放多个声音,但我相信您可以使用多个类似于您的
AVAudioPlayer
示例的实例来播放多个声音,只是它更精确。使用
AVQueuePlayer
AVPlayer
的子类),您可以预加载媒体文件,以便只需按一下按钮即可立即播放。或者您可以使用
AVAsset
预加载您的资产,并使用
AVPlayer
Thans播放资产,作为您的答案,但正如我所说,AVPlayer可以在这里或那里播放按钮声音,但如果几个实例同时播放,它将不够精确。时间会安排得满满当当。这就是为什么我需要看看其他地方。在你的问题中,你提到了
AVAudioPlayer
,但你从来没有提到
AVPlayer
,也许你不知道他们是两个不同的媒体播放器。对不起,我误读了你的评论,我不知道他们是不同的播放器。然而,我现在也尝试了
AVPlayer
,不幸的是,它甚至比
AVAudioPlayer
更糟糕。时机不对。当触摸按钮播放单一声音时,它可能不明显,但当旋律由不同的音频样本组成时,它确实很明显。此外,它还会在模拟器和设备上四处跳过声音。使用
AVAudioPlayer
时,这只发生在模拟器中。似乎我需要进入AudioQueue。这很奇怪,我在需要高精度的应用程序中使用了
AVPlayer
,我发现它满足了我的要求
AVQueuePlayer
允许预加载资产,这可能会对您有所帮助。如果你能发布你的代码,那会有帮助