好久不见,最近任务较多,加上疫情严重,导致好久没更新,有些笔记都找不到了...
总之:武汉加油,祖国加油,经历过伤痛将会变的更加强大!!!
wav数据分析:
- 用16进制打开wav音频文件,对照大神的一些资料(不好意思过了挺长时间网了大神的链接了)
b'RIFF
\xe0_\xc7\x00 13079822
WAVE
fmt
\x10\x00\x00\x00
\x01\x00 PCM编码
\x01\x00 单声道
\x80\xbb\x00\x00 采样率48000
\x00w\x01\x00 波形传输速率96000
\x02\x00 对应的十进制是2,数据的调整数
\x10\x00 对应的十进制是16,样本数据的位数,表示用16位表示一个样本
data
\xbc_\xc7\x00 13079996 数据总大小
在这里插入代码片
接下来的内容就是音频数据部分了,在播放时会按照采样率来确定每帧的大小(例如上面采样率为48000,每帧的数据就是4800个数组)
MP4:
- MP4视频部分网上有很详细的例子了。音视频的数据基本都在m-dat盒子中。
- MP4的音频是AAC格式的数据,AAC格式又分2种一种是每帧数据都有头的adts类型(大部分使用),一种是有统一头的adif类型。
- MP4中音频就是使用的adts类型的去头文件。
- 在播放器读取mp4文件时会对音视频分别解码处理,即对一个函数创建2个线程。
- 对于其他针对音视频的参数配置,则在其他盒子中,具体参考MP4文件解析的文章,本人还未掌握这部分内容。