鱼C论坛

 找回密码
 立即注册
查看: 5962|回复: 10

[技术交流] 关于windows的音乐格式协议1->wav文件头

[复制链接]
发表于 2016-6-30 20:00:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 无符号整形 于 2016-7-4 21:35 编辑

音乐大家肯定听过,但是都是MP3吧?MP3是经过压缩的,wav格式才是原始的波形(正弦波)
wav是最早的格式,在windows 95/98 NT server 3.0以前许多API都不支持MP3,MP3是大概windows NT server 4.0(具体我也说不清)之后才支持的MP3
好啦回到正题,说一说wav的格式吧!
你以为wav格式就是纯音频?错了!今天我们讲一讲他的头格式和简单编码
打开一个wav文件,你可能会看到下面这样的乱码(建议用notepad++还有HEX编辑插件):
sdsd.JPG
没错,很乱!让我们切换到HEX十六进制编辑模式
选择
插件->Hex Editor->viem in Hex
现在就清晰多了
rtrtrt.JPG
嗯,让我们仔细研究吧!
首先,0x0000~0x0004的地方是RIFF,表示他是一种RIFF资源文件
wewewewewe.JPG
然后,0x0004~0x0008的地方是乱码,我们看不懂,但是,《Windows程序设计》这本书说是”波形数据块的大小(文件大小减去8),就听他的。
fg.JPG
接着就是“WAVE fmt”表示他是一个wav文件,
34.JPG
又乱码。。。《Windows程序设计》这本书说是“格式数据块的大小(16字节)“也听他的吧!
5y.JPG
重要的一段:WAVEFORMATEX(不懂自己查MSDN)
原型:
  1. typedef struct {
  2.     WORD  wFormatTag;
  3.     WORD  nChannels;
  4.     DWORD nSamplesPerSec;
  5.     DWORD nAvgBytesPerSec;
  6.     WORD  nBlockAlign;
  7.     WORD  wBitsPerSample;
  8.     WORD  cbSize;
  9. } WAVEFORMATEX;
复制代码

不说啦,这里是WAVE_FORMAT_PCM=1
erererer.JPG
wf.nChannels(假如我们定义WAVEFORMATEX wf;)
rgrgrg.JPG
wf.SamplesPerSec
rtg.JPG
wf.nAvgBytesPerSec
nAvg.JPG
wf.BlockAlign
rtrtrtf.JPG
wf.wBitsPerSample
ef.JPG
终于行了
然后是"data"表示数据块准备开始了
gr.JPG
别急,还没结束,还有波形数据的大小
嗯然后数据块正式开始
wef.JPG
其余的就是采样值了,根据精度。下面摘一下《Windows程序设计》
如果采样大小为8位或更少,那么被采样的值将被解释为无符号整数。比如,对8位的采样大小,无声等于一个0x80字节的串。如果采样大小为9位或更多,那么被采样的值将被解释为有符号整数。也就是说,无声等于0。

采样将在下次介绍
88888888888

评分

参与人数 2荣誉 +10 鱼币 +10 贡献 +7 收起 理由
拈花小仙 + 5 + 5 + 4 感谢楼主无私奉献!
小甲鱼 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-1 10:10:01 | 显示全部楼层
顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-1 10:59:56 | 显示全部楼层
天书~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-3 14:46:58 | 显示全部楼层
清晰明了,最后好像多出了一张图?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-3 16:16:16 | 显示全部楼层
小甲鱼 发表于 2016-7-3 14:46
清晰明了,最后好像多出了一张图?

小甲鱼的眼睛可真厉害!!!已经修复了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-4 20:08:34 | 显示全部楼层
有错别字
QQ图片20160704200729.png

不过文章还是写的不错,顶楼主!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-4 21:34:35 From FishC Mobile | 显示全部楼层
零度非安全 发表于 2016-7-4 20:08
有错别字



谢谢哈,已经纠正。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-16 10:00:02 | 显示全部楼层
这个要顶一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-21 17:42:46 | 显示全部楼层
必须顶!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-7-22 10:39:08 | 显示全部楼层
很棒的资源 谢谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-13 08:40:04 | 显示全部楼层
学习了 ,谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 23:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表