ded*_*alo 5 java audio signal-processing wav sampling
我正在处理可处理音频数据的应用程序。我正在使用Java(我已经添加了MP3SPI,Jlayer和Tritonus)。我正在将音频数据从.wav文件提取到字节数组。我正在使用的音频数据样本是16位立体声。
根据我读过的一个样本的格式,是:
AABBCCDD
其中AABB代表左声道和CCDD右声道(每个声道2个字节)。我需要将此样本转换为双精度值类型。我正在阅读有关数据格式的信息。Java使用Big Endian,.wav文件使用little endian。我有点困惑。您能帮我完成转换过程吗?谢谢大家
警告:整数和字节是带符号的。将低位字节打包在一起时可能需要屏蔽低位字节:
for (int i =0; i < length; i += 4) {
double left = (double)((bytes [i] & 0xff) | (bytes[i + 1] << 8));
double right = (double)((bytes [i + 2] & 0xff) | (bytes[i + 3] << 8));
... your code here ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6323 次 |
| 最近记录: |