我需要将左右声道的音频输出到耳机插孔,并将耳机插孔输出到示波器。 Float.MAX_VALUE
和Float.MIN_VALUE
无法获得正确的音频波形。通常,16位音频最大/最小值是一种短类型,其值是+/- 32767。因此,您可以使用Short.MAX_VALUE
和Short_MIN_VALUE
分配值。但是目前,我的音频类型为float,即AudioFormat.ENCODING_PCM_FLOAT
,并且使用Float.MAX_VALUE
和Float.MIN_VALUE
不能在示波器中获得正确的音频波形。实际的音频波形前后会有0.4毫秒的噪声,但是当我以3.5f或-3.5f浮动时,波形的形状看起来是正确的,但是没有达到最大值。那么float类型的最大和最小音频值是多少?
答案 0 :(得分:0)
来自docs:
...如果音频管道中的所有增益均小于或等于1(1.0f),且音频管道中的所有增益均小于或等于1(1.0f),则该实现不剪辑标称范围[-1.0f,1.0f]中的样本值。没有可以增加能量的后处理效果,例如混响。为了方便使用具有非单位增益的滤波器计算采样的应用,允许采样值超出标称范围+3 dB。但是,取决于各种增益和音频路径中的后续处理,最终可能会限制或限制此类值。因此,建议应用程序提供标称范围内的样本值。
3dB的功率增加对应于sqrt(2)的电压增加,大约为1.41。因此,根据文档,您的设备可能可以处理-1.41至1.41,但请注意有关裁剪的警告。