AudioUnit框架的最大值?

时间:2011-11-27 23:08:04

标签: iphone ios audio audiounit

我有简单的代码,它使用AudioUnit将正弦波渲染到输出。我的问题是:我应该在帧中放置什么值?我的意思是,在AudioUnitRender函数中,我应该为缓冲区数组提供一些音频数据......那么我应该放入什么值?目前我正在插入从-1到1的值,但我看到我也可以使用更大的值......

那么我应该使用的最大值(代表100%音量)?

谢谢:)

1 个答案:

答案 0 :(得分:3)

这完全取决于您正在使用的流格式。您应该创建一个AudioStreamBasicDescription并将其设置为音频单元的输入格式。有许多不同的流格式,每种格式都有不同的方式来表示“100%音量”。如果你选择浮点,那么它将是-1.0到1.0,但是如果你选择无符号的16位,那么它将从0到65535。

我不确定你已经有什么代码来设置你的音频单元但是这里似乎显示了一个很好的例子: http://atastypixel.com/blog/using-remoteio-audio-unit/

在该示例中,您将注意到它正在创建AudioStreamBasicDescription并选择带有kAudioFormatFlagIsSignedInteger标志的线性PCM,每个通道16位和1个通道。这意味着值将从-32768变为32767。