私は iOS アプリで 2 つの AUGraph を使用しています。1 つはオーディオの録音用で、もう 1 つはオーディオの再生用です。一度に 1 つだけ使用します。これは、AUGraph インスタンスを使用するたびにゼロから再作成する限り、問題なく機能します。
記録と再生を切り替えるたびに新しいインスタンスを作成して初期化する代わりに、これらの AUGraphs を再利用しようとしています。
次の手順を実行すると、次に I/O ユニットからマイク データを取得しようとしたときにエラーが発生するため、これを行うのに問題があります。
- 記録グラフを作成する
- 記録グラフの初期化
- グラフの記録を開始
- グラフの記録を停止
- 再生グラフを作成する
- 再生グラフを初期化する
- 再生グラフを開始
- 停止再生グラフ
- グラフの記録を開始
そして、エラーの原因となった呼び出し、戻りコード -50 (このステートメントは、毎回 AUGraph を再作成するときに正常に機能します):
OSStatus status = AudioUnitRender(
remoteIoUnit,
ioActionFlags,
inTimeStamp,
CB_remoteIoUnitInputElement,
inNumberFrames,
ioData
);
AUGraphs の再利用は一般的に可能ですか?