zoukankan      html  css  js  c++  java
  • wav文件头详解,看懂wav文件

    工作中部门萌新常问的wav文件头格式及怎么看wav文件,

    且有时会遇到   “伪.pcm”  格式

    现总结如下:

      WAV是最常见的声音文件格式之一,是微软公司专门为Windows开发的一种标准数字音频文件,该文件能记录各种单声道或立体声的声音信息,并能保证声音不失真。但WAV文件有一个缺点,就是它所占用的磁盘空间太大(每分钟的音乐大约需要12兆磁盘空间)。它符合资源互换文件格式(RIFF)规范,用于保存Windows平台的音频信息资源

    推荐一个好用的16进制文件查看的工具:HxDx64


    对于完全0基础的,推荐下面网站中的详细解释,比较详细:(侵删)

            https://www.cnblogs.com/ranson7zop/p/7657874.html


    1.RIFF块(RIFF-Chunk)

    偏移地址 字节数 数据类型 内容
    &H00 4 String ‘RIFF‘文件标志
    &H04 4 UInteger 文件总长
    &H08  4  String  ‘WAVE‘文件标志

    2.格式化块(Format-Chunk)

    偏移地址 字节数 数据类型 内容
    &H0C 4 String ‘fmt‘标志
    &H10 4 UInteger 块长度
     &H12   2  UShort PCM格式类别 
    &H14 2  UShort  声道数目 
    &H18 4  UInteger  采样率 
     &H1C  4  UInteger  传输速率 
     &H1E  2 UShort   数据块对齐 
    &H20 2 UShort   每样本bit数 
     &H22  2 UShort   可选 

    3.附加块(Fact-Chunk) *当前块偏移地址需要根据实际数据变更

    偏移地址 字节数 数据类型 内容
    &H26 4 String ‘fact‘标志
    &H2A 4 UInteger 块长度
    &H2E 4 UInteger  附加信息

    4.数据块(Data-Chunk) *当前块偏移地址需要根据实际数据变更

    偏移地址 字节数 数据类型 内容
    &H32 4 String ‘data‘文件标志
    &H36 4 UInteger

    数据块总长

    按照相关头格式,来观察字节即可

    Example:(取自上面博客)

  • 相关阅读:
    vuejs 2 生命周期钩子函数
    js 原型链
    两段代码说明 闭包,变量提升 问题
    node 模块全局位置
    git 提交代码
    mongoose 由一个版本引起的问题
    box-shadow 让div 立体起来
    flexbox 学习笔记 参考阮一峰老师的blog
    Linq的分页与组合查询的配合使用
    发送邮件和数据导出
  • 原文地址:https://www.cnblogs.com/zhangxingcomeon/p/12613439.html
Copyright © 2011-2022 走看看