AudioUnit 帧的最大值?
Posted
技术标签:
【中文标题】AudioUnit 帧的最大值?【英文标题】:Maximum value for AudioUnit frame? 【发布时间】:2011-11-27 23:08:03 【问题描述】:我有使用 AudioUnit 将正弦波渲染到输出的简单代码。我的问题是:我应该在框架中放入的值范围是多少?我的意思是,在 AudioUnitRender 函数中,我应该为缓冲区数组提供一些音频数据……那么我应该输入什么值?目前我正在插入从 -1 到 1 的值,但我发现我也可以使用更大的值...
那么我应该使用的最大值是多少(表示 100% 音量)?
谢谢:)
【问题讨论】:
【参考方案1】:这完全取决于您使用的流格式。您应该创建一个AudiostreamBasicDescription
并将其设置为音频单元的输入格式。有许多不同的流格式,每种都有不同的方式来表示“100% 音量”是什么。如果您选择浮点数,那么它将是 -1.0 到 1.0,但如果您选择无符号 16 位,那么它将是从 0 到 65535。
我不确定您已经拥有哪些代码来设置音频单元,但这里似乎显示了一个很好的示例: http://atastypixel.com/blog/using-remoteio-audio-unit/
在该示例中,您会注意到它正在创建一个 AudioStreamBasicDescription
并选择带有 kAudioFormatFlagIsSignedInteger
标志的线性 PCM,每个通道 16 位和 1 个通道。这意味着值将从 -32768 变为 32767。
【讨论】:
以上是关于AudioUnit 帧的最大值?的主要内容,如果未能解决你的问题,请参考以下文章