iOS をターゲットにして、2 つの .caf オーディオ ファイルを同時に再生したいと考えています。
リモート IO (出力スコープ) に接続されたマルチチャンネル ミキサー AU に接続された 2 つの「ジェネレーター」オーディオ ユニット (サブタイプ kAudioUnitSubType_AudioFilePlayer) で構成される単純な AUGraph を作成しました。
ミキサーに接続された 1 つの filePlayer AU だけで、ファイルの 1 つを正常に再生できます。2 つのファイルを再生するには、filePlayer AU の別のインスタンスを作成し、最初の filePlayer と同じ方法で構成するだけです。
オーディオ ファイルを開き、kAudioUnitProperty_ScheduledFileIDs
プロパティと プロパティを使用して Generator ユニットに渡しkAudioUnitProperty_ScheduledFileRegion
ます。
すべての AU 呼び出しの途中でエラーをチェックしていますが、何もエラーを返しません。グラフを開始すると、沈黙しかありません。
「再生」を押した後のグラフのスナップショットは次のとおりです。
AudioUnitGraph 0xF7DA000:
Member Nodes:
node 1: 'auou' 'rioc' 'appl', instance 0xf18e3e0 O I
node 2: 'aumx' 'mcmx' 'appl', instance 0x9d72f50 O I
node 3: 'augn' 'afpl' 'appl', instance 0x9db6ee0 O I
node 4: 'augn' 'afpl' 'appl', instance 0x9db6fd0 O I
Connections:
node 3 bus 0 => node 2 bus 1 [ 1 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
node 4 bus 0 => node 2 bus 2 [ 1 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
node 2 bus 0 => node 1 bus 0 [ 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
CurrentState:
mLastUpdateError=0, eventsToProcess=F, isRunning=T (3)
欠けている複数の filePlayer Audio Units を使用するニュアンスはありますか? 私がやろうとしていることは、この方法で可能ですか? それとも、代わりにオーディオ バッファを作成し、手動で filePlayer ユニットにフィードする必要がありますか?