WAV格式略谈

文章详细介绍了WAV文件的结构,包括RIFF块、PCM编码、fmt块、data块以及可选的LIST块,强调了基本的RIFF、fmt和data块的重要性,同时提到了IEEE32-bitfloat编码在特定情况下的使用。
摘要由CSDN通过智能技术生成

#2


WAV是RIFF文件的一种。

虽然它可以存使用其他的编码格式,但是这需要支持的播放器实现。

所以还是使用PCM编码好了。

(其实我希望使用IEEE 32-bit float编码,那是HanakoSakura音轨所使用的)

RIFF文件是一种树状文件

4 RIFF块ID     'R','I','F','F'
4 RIFF块大小    <文件长度-8>
4 RIFF块标识符  'W','A','V','E'
4 fmt块ID      'f','m','t',' '                 --格式
4 fmt块大小     16
2 AudioFormat   1  (编码格式,1为PCM编码)
2 NumChannels  <声道数>
4 SampleRate   <采样率>
4 ByteRate     <每秒字节数>
2 BlockAlign   <块对齐>
2 BitPerSample <采样位数>
4 LIST块ID     'L','I','S','T'                --歌曲信息
4 LIST块大小    <>
4 LIST块标识符  'I,'N','F','O'
4 IART块ID     'I','A','R','T'                --歌手
4 IART块大小    <>
? IART数据      <歌手名,以2个0x00结尾的宽字符串>
4 INAM块ID     'I','N','A','M'                --歌曲名
4 INAM块大小    <>
? INAM数据      <歌曲名,宽字符串>
4 IPRT块ID     'I','P','R','T'                --专辑
4 IPRT块大小    <>
? IPRT数据      <专辑名,宽字符串>
4 ISFT块ID     'I','S','F','T'
4 ISFT块大小    <>
? ISFT数据      <? MetaData?>
4 data块ID     'd','a','t','a'                --音频数据
4 data块大小    <>
? data数据      <音频数据>

具体不打算实现了
毕竟必须的只有RIFFfmtdata
LIST之类的块是可选的,供某些播放器读取。

-EOF-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值