WAV/RIFF - 文件头中的文件大小错误?
问题描述:
根据WAV/RIFF文件规范:http://www.topherlee.com/software/pcm-tut-wavformat.html标题中的5-8个字节是整个文件的大小减去8个字节。例如:WAV/RIFF - 文件头中的文件大小错误?
52 49 46 46 RIFF
24 04 06 00 $Ř.. <-- file size
57 41 56 45 WAVE
66 6D 74 20 fmt
10 00 00 00
01 00 01 00
44 AC 00 00
88 58 01 00
02 00 10 00
64 61 74 61
进制值24 04 06 00等于604243456个字节小数,但在实际的文件大小(由OS报道)为394284个字节。我做错了什么?
答
好的我找到了。 RIFF/WAV文件中的所有数据均使用Little Endian进行存储,我将其作为Big Endain进行读取。读数是小端:
Big Endian:
24 04 06 00
Little Endian:
00060424
它给出394276个字节的十进制+ 8个字节用于ID和RIFF块大小= 394284字节 :)