1

(这是最近提出的问题的更清晰版本)

我正在接管一些代码来解决一些问题,其中一个让我感到困惑。

应用程序需要监控输入电平并将其显示出来,以便用户在需要时进行调整。当前代码与大多数设备完美配合。计量模式已启用,这两条线由计时器例程调用并工作 - 除了一个设备:

AudioUnitGetParameter(mMixerUnit, k3DMixerParam_PreAveragePower, kAudioUnitScope_Input, 0, &levels[0]);
AudioUnitGetParameter(mMixerUnit, k3DMixerParam_PrePeakHoldLevel, kAudioUnitScope_Input, 0, &peaks[0]);

当所选输入设备是TASCAM US-144MKII时,级别和峰值始终为-120。Tascam 单元有一些不同之处,例如,它列出了 4 个通道并且安全偏移量为 0。但是,我看不出其中任何一个会如何导致这个特殊问题。现在我的猜测是,Tascam 的 USBAudio 驱动程序中的某些内容与预期的不同。

卷确实使用 Audacity 显示,但如果我正确阅读代码,则 Audacity 正在使用已弃用的函数。是否可以运行单独的 AudioQueue,而不是捕获数据,而只是为了获取输入电平?

我很感激你的回答!

4

1 回答 1

0

找到了!

选择TASCAM单位作为输入时,代码中的输入回调从未被调用。尚未定义的确切原因,但基本上它不仅仅是获得卷级别,在选择TASCAM单位作为输入设备时,没有任何工作。

于 2013-02-25T05:10:03.893 回答