是否可以使用MusicSequence将MusicPlayer连接到AVAudioUnitSampler?

时间:2017-11-20 06:21:23

标签: ios swift core-audio audiokit

我使用Audiokit来满足我的iOS应用程序的音频需求,我需要使用音序器以编程方式控制一系列音符,我想用它来驱动一个采样器。 Audiokit似乎被设计为在内部使用MIDI,但我想避免这种情况并直接从音序器转到采样器,因为使用MIDI似乎会使所有内部连接出现在其他应用程序的虚拟MIDI列表中。

我的问题是:是否可以使用MusicPlayerMusicSequenceMusicTrack(来自AudioToolbox)将音序器连接到AVAudioUnitSampler(来自AVFoundation)?< / p>

另一种选择显然是使用AudioComponentDescription构建采样器并构建AUGraph,但我希望尽可能使用Audiokit助手。

编辑:关键步骤似乎是MusicTrackSetDestNode使用了AUNodeAVAudioUnitSamplerAVAudioNode,其auAudioUnit属性类型为AUAudioUnit。像AUGraphNodeInfo这样的基本API为您提供音频节点的音频单元。如何从音频单元获取音频节点?

1 个答案:

答案 0 :(得分:2)

您可以使用AVAudioUnitSampler轻松使用AVAudioSequencer。这适用于许多情况。

对于即时构建的MIDI序列不起作用#34;因为除了AudioToolbox之外,没有API可以创建序列。提出雷达要求这个。 (他们已经厌倦了听到我的消息)。否则,一种笨重的方法是创建一个MusicSequence,将其转换为Data实例,然后将其交给AVAudioSequencer。