2017-11-20 11 views
3

iOSアプリケーションのオーディオにAudiokitを使用しています。私は、シーケンサーを使用してプログラムでシーケンスの音符を制御し、サンプラーを駆動したいと思っています。 Audiokitは内部的にMIDIを使用するように設計されているようですが、MIDIを使用すると他のアプリケーションの仮想MIDIリストにすべての内部接続が表示されるため、これを避けてシーケンサーからサンプラーに直接移動したいと思います。MusicSequenceを使用してMusicPlayerをAVAudioUnitSamplerに接続することはできますか?

私の質問はこれです:それは(AVFoundationから)AVAudioUnitSamplerに(AudioToolboxから)MusicPlayerMusicSequenceMusicTrackを使用してシーケンサを接続することは可能ですか?

他のオプションは、AudioComponentDescriptionを使用してサンプラーを構築し、AUGraphを構築することですが、Audiokitヘルパーを可能な限り使用したいと考えています。

EDIT:MusicTrackSetDestNodeを使用していると思われる重要なステップは、AUNodeになります。 AVAudioUnitSamplerはのauAudioUnitプロパティを持つAVAudioNodeです。 AUGraphNodeInfoのような必須APIは、オーディオノードからオーディオユニットを提供します。あなたはどのようにオーディオユニットからオーディオノードを取得しますか?

答えて

1

AVAudioSequencerはAVAudioUnitSamplerで簡単に使用できます。これは多くの場合に有効です。

AudioToolbox以外のシーケンスを作成するAPIがないため、「オンザフライ」で構築されたMIDIシーケンスでは機能しません。これを求めるレーダーを作成してください。 (彼らはこれについて私に聞いてうんざりです)。それ以外の場合は、MusicSequenceを作成し、それをDataインスタンスに変換してAVAudioSequencerに渡してください。

+0

はい私はあなたの記事を読んだが、残念なことにそれは本当に現れている唯一のことだ。私は実際に尋ねたのは、a)Audiokitを使用して、それが提供するショートカットを利用したい、そしてb)特にシーケンスをその場で構築する必要があるからです。私は、これにもかかわらずここにはより良い答えがないことを受け入れ、他人に知らせるためにあなたの答えを受け入れるべきだと思います。次のステップは、レーダーをファイルすることを学ぶ... – whistler

関連する問題