我有问题。在 Java 中,我需要从 wav 文件中读取样本。文件格式为:wav、PCM_SIGNED、signed int of 2bytes = 16bits、little endian... 该对象读取 BYTES 中的音频样本,我需要将这两个字节转换为一个 double 值。我尝试使用这个公式,但它并不完全正确:
mono = (double)((audioBytes[k] & 0xFF) | (audioBytes[k + 1] << 8));
将结果与 Matlab 进行比较,我总是注意到 Matlab 中的实际值与 Java 中转换后的值之间的差异。有人可以帮我吗?谢谢你,戴夫