将PCM数据(从Midi)传递到OpenSL-ES我正在寻找一种放大PCM信号的方法。在OpenSL-ES中,我看到了用于低音提升和均衡的接口,但没有用于放大(增益高于最大音量)的接口。
有没有解决这个问题的捷径?另一种可能是使用均衡器在所有频带中使用相同的增益(不确定结果),但可能有更直接的方法。
发布于 2015-10-12 05:45:20
您可以通过将PCM数组的值相乘来放大PCM“信号”。但是,您应该知道,结果值不应超过或低于可能的值范围(对于16位PCM,为-32768到32767 ),否则输出中将出现失真。
因此,如果您的PCM数据幅度接近最大和最小范围,则无法使用此方法放大音频。试试安卓中的LoudnessEnhancer音频效果(假设你问的是安卓相关的问题)
如果PCM数组由32位整数组成,而PCM格式为16位,则应将32位值拆分为两部分,将每个部分相乘,然后再将它们连接起来。
https://stackoverflow.com/questions/31220147
复制相似问题