私はこれをやろうとしています
RemoteIO1 (バッファへの録音用) -> kAudioUnitType_Mixer -> RemoteIO2 (出力の再生用)
RemoteIO1は 2 つの目的で使用されます。
1) オーディオをミキサーチャンネル 0 に送るには
2) マイクからバッファにオーディオを録音するには
kAudioUnitType_Mixer
1) RemoteIO からオーディオを取得 - 入力 0
2) (1) からのオーディオをバッファ - 入力 1 からのオーディオと混合します。
リモートIO2
1) ミックスされたオーディオを取得し、再生に送信します
最初はミキサー出力から再生できると思っていましたが、次のようにエラーが表示されます。再生を行うために別の RemoteIO が必要であることを確認できますか?
// Enable Mixer for playback
status = AudioUnitSetProperty(_mixerUnit,
kAudioOutputUnitProperty_EnableIO,
kAudioUnitScope_Output,
mixerOutputBus,
&flag,
sizeof(flag));
if (noErr != status) { NSLog(@"Enable Mixer for playback error"); return; }
また、次のテストを行ったところ、利用可能な RemoteIO が 1 つしかないように見えることがわかりました (inputComponent と inputComponent2 のアドレスは同じです)。
// Get component
AudioComponent inputComponent = AudioComponentFindNext(NULL, &desc);
AudioComponent inputComponent2 = AudioComponentFindNext(NULL, &desc);
アプリで RemoteIO のインスタンスを 1 つしか持てないというのは本当ですか? もしそうなら、2番目のRemoteIOの代替手段は何ですか?
ありがとう。
橋脚。