iOS AVAudioRecorder录制的wav音频文件头详解

iOS AVAudioRecorder录制的wav音频文件头详解


最近在做音频采样这部分的内容,涉及录制、转码、降频、重采样等内容。

在处理wav音频文件时发现,iOS的”AVAudioRecorder“在录制”kAudioFormatLinearPCM“音频格式输出的.wav文件时,添加的文件头并不是大家通用的44字节,而是4096字节,我通过逐个字节的解析,发现了多出的两个部分“JUNK”和“FLLR”。

  • 文件内容详解
(00-04)5249 4646 //RIFF
(04-08)f8bf 0300 //文件size(小端)
(08-12)5741 5645 //WAVE

//此处开始为多出的“JUNK”片段
{
(12-16)4a55 4e4b //JUNK
(16-20)1c00 0000 //计数为28字节
(20-48)0000 0000 ... //此处省略字节内容(28byte)  
}
(48-52)666d 7420 //fmt 
(52-56)1000 0000 //过渡字节(不定)
(56-58)0100      //格式类别,为1时表示线性PCM编码,大于1时表示有压缩的编码。
(58-60)0200	  //声道数,1为单声道,2为双声道
(60-64)44ac 0000 //采样率,采样频率,这里是44100
(64-68)10b1 0200 //位数,Byte率=采样频率*音频通道数*每次采样得到的样本位数/8,00005622H,也就是176400Byte/s=44100*2*16/8。
(68-70)0400	  //一个采样多声道数据块大小,块对齐=通道数*每次采样得到的样本位数/8,也就是4=2*16/8
(70-72)1000 	  //一个采样占的bit数,样本数据位

//此处开始为多出的“FLLR”片段
{
(72-76)//464c 4c52 FLLR
(76-80)a80f 0000 //计数为4008字节
(80-4088)0000 0000 ... //此处省略字节内容(4008byte)
}

(4088-4092)6461 746

你可能感兴趣的:(iOS,前端,ios)