gpt4 book ai didi

java - 音频数据字节数组音量调节java

转载 作者:行者123 更新时间:2023-11-30 03:55:06 25 4
gpt4 key购买 nike

我正在为我的 WiFi 扬声器进行音量控制。我需要处理原始 PCM 数据字节数组来调整音量。但我的代码给我带来了很多噪音。以下是我的代码:

for (int i = 0; i < split.length; i+=2) {
short audioSample = (short) (((split[i+1] & 0xff) << 8) | (split[i] & 0xff));
audioSample = (short) (audioSample * 1 * equal.vol);
split[i] = (byte) audioSample;
split[i+1] = (byte) (audioSample >> 8);
}

split是原始数据字节数组

我的音频配置文件:22.05K 采样率,每个样本 16 位

最佳答案

  1. 确保将 equal.vol 声明为浮点类型,例如 floatdouble
  2. 确保您的示例数据实际上是小端字节序。
  3. 确保 0 <= equal.vol <= 1;也就是说,确保您只是衰减而不是放大。如果要放大,则需要将乘法结果限制在样本范围内,即 -32768 到 +32767。但是,以这种方式放大时,您的声音可能会出现削波。

关于java - 音频数据字节数组音量调节java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com