我使用Audiokit来满足我的iOS应用程序的音频需求,我需要使用音序器以编程方式控制一系列音符,我想用它来驱动一个采样器。 Audiokit似乎被设计为在内部使用MIDI,但我想避免这种情况并直接从音序器转到采样器,因为使用MIDI似乎会使所有内部连接出现在其他应用程序的虚拟MIDI列表中。
我的问题是:是否可以使用MusicPlayer
,MusicSequence
和MusicTrack
(来自AudioToolbox)将音序器连接到AVAudioUnitSampler
(来自AVFoundation)?< / p>
另一种选择显然是使用AudioComponentDescription
构建采样器并构建AUGraph
,但我希望尽可能使用Audiokit助手。
编辑:关键步骤似乎是MusicTrackSetDestNode
使用了AUNode
。 AVAudioUnitSampler
是AVAudioNode
,其auAudioUnit
属性类型为AUAudioUnit
。像AUGraphNodeInfo
这样的基本API为您提供音频节点的音频单元。如何从音频单元获取音频节点?
答案 0 :(得分:2)
您可以使用AVAudioUnitSampler轻松使用AVAudioSequencer。这适用于许多情况。
对于即时构建的MIDI序列不起作用#34;因为除了AudioToolbox之外,没有API可以创建序列。提出雷达要求这个。 (他们已经厌倦了听到我的消息)。否则,一种笨重的方法是创建一个MusicSequence,将其转换为Data实例,然后将其交给AVAudioSequencer。