我创建了一个简单的 AUGraph - 远程 IO、混音器和一个回调(将麦克风输入写入文件) - 但是我认为它的配置方式不是我想的那样。我正在尝试使用 CAShow() 来了解我实际创建的内容,但我正在努力将其输出与我认为我已配置的内容以及运行应用程序时实际发生的情况相协调。
我相信我的 AUGraph 包含以下连接(从扬声器到麦克风向后工作):
- 混音器单元的输出总线连接到远程 IO 输出元件的输入总线
- 在混音器单元的输入上设置的回调
- 连接到回调的远程 IO 输入元素的输出总线
这是配置和初始化 AUGraph 后 CAShow() 的输出:
AudioUnitGraph 0x8EA7000:
Member Nodes:
node 1: 'auou' 'rioc' 'appl', instance 0xa87f530 O I
node 2: 'aumx' 'mcmx' 'appl', instance 0xa880420 O I
Connections:
node 2 bus 0 => node 1 bus 0 [ 1 ch, 44100 Hz, 'lpcm' (0x0000000C) 16-bit little-endian signed integer]
Input Callbacks:
{0x28c0, 0xa87df40} => node 2 bus 0 [1 ch, 44100 Hz]
CurrentState:
mLastUpdateError=0, eventsToProcess=F, isRunning=F
它似乎应该显示从远程 IO 输入元素的输出总线到回调的连接,但事实并非如此。我知道它正在工作,因为在启动 AUGraph 时我可以听到音频,并且我的回调正在按照设计将样本写入 ExtAudioFile。
我想我误解了关于 AUGraphs、Callbacks 或两者的基本知识。