Matlab .wav文件的十六进制数据是如何读取的?

Matlab .wav文件的十六进制数据是如何读取的?,matlab,audio,hex,wav,Matlab,Audio,Hex,Wav,我试图用java读取一个.wav文件,显然问题是我不明白十六进制数字应该如何读取。 以下是十六进制编辑器上.wav(每个样本32位,2个通道)的第一行数据: 64 61 74 61 00 1A 01 00 data..... 1D F6 FB 3D 84 DF FB 3D öû=„ßû= 4B 03 03 3E 4B 03 03 3E K..>K..> D5 F8 08 3E D5 F8 08 3E Õø.>Õø.> C6 48 0F 3E C6 48 0F 3E ÆH.

我试图用java读取一个.wav文件,显然问题是我不明白十六进制数字应该如何读取。 以下是十六进制编辑器上.wav(每个样本32位,2个通道)的第一行数据:

64 61 74 61 00 1A 01 00 data.....
1D F6 FB 3D 84 DF FB 3D öû=„ßû=
4B 03 03 3E 4B 03 03 3E K..>K..>
D5 F8 08 3E D5 F8 08 3E Õø.>Õø.>
C6 48 0F 3E C6 48 0F 3E ÆH.>ÆH.>
我的想法是:第一个通道的第一个值应该是:3D FB F6 1D,这意味着1039922717


我取这个数,减去2^31,得到-1107560931,这是第一个值。但我将其与MatlabAudioRead得到的值进行比较,得到264200656作为第一个值。为什么?

如果您先编写一些代码来创建文件,那么您就会知道如何读回文件时会遇到什么问题。。。此外,我建议你处理一个单声道文件的初学者。。。请明确您的数据是有符号的还是无符号的。。。WAV也可以是浮动的确保你有整数而不是浮动。。。标题只是一个很好的例子,一开始不需要处理它。。。写一些代码将几个字节写入一个文件,然后写更多代码将其读回。。。这种方法减少了未知因素组合多个字节的关键方面是endianness的概念。。。研究一下如何将每个字节移位,以便为多字节位深度文件的下一个字节腾出空间。。。位深度8适合单个字节,因此最容易读写。。。首先让你的代码在8位的深度上工作,然后担心16位或32位。。。当处理多字节音频和处理4字节的32位音频时,一个字节的值会移位