20H~21H 2 整数 数据的调整数(按字节计算)

22H~23H 2 整数 样本数据位数

表  2  WAV文件的数据块

偏移地址 字节数 类型 内容

24H~27H 4 字符 数据标志符(data)

28H~2BH 4 长整型 采样数据总数

2CH--- --- 采样数据

2.1.2 WAV文件常用块的定义

(1)RIFF头格式

struct RIFF_HEADER 

{  

char szRiffID[4];     // 'R','I','F','F' 

DWORD dwRiffSize;  

char szRiffFormat[4]; // 'W','A','V','E' 

};

(2)FMT块头格式

struct FMT_BLOCK 

char   szFmtID[4]; // 'f','m','t',' ' 

DWORD   dwFmtSize; 

WAVE_FORMAT wavFormat; 

};

(3)WAVE格式块

typedef struct WAVE_FORMAT 

{

WORD wFormatTag;       //编码格式

WORD wChannels;        //声道数

DWORD dwSamplesPerSec; //采样频率

DWORD dwAvgBytesPerSec;//每秒的数据量

WORD wBlockAlign;      //块对齐

WORD wBitsPerSample;   //采样位数

};

(4)数据块

struct DATA_BLOCK 

char szDataID[4]; // 'd','a','t','a' 

DWORD dwDataSize; 

};

2.2  语音WAV文件读取操作

2.2.1 WAV文件读取操作所用到的数据结构

(1)波形音频流格式的数据结构

typedef struct tWAVEFORMATEX

{

    WORD        wFormatTag;         /* 格式类型 */

    WORD        nChannels;          /* 声道数目*/

    DWORD       nSamplesPerSec;     /* 采样频率 */

    DWORD       nAvgBytesPerSec;    /* 每秒的数据量*/

    WORD        nBlockAlign;        /* 数据块的对齐标志 */

    WORD        wBitsPerSample;     /* 采样量化位数 */

    WORD        cbSize;             /* 该数据结构的大小 */

} WAVEFORMATEX;

(2)在mmsystem.h中处理RIFF数据块信息的基本数据结构

typedef struct _MMCKINFO

{源:自~优尔·论`文'网·www.youerw.com/

FOURCC          ckid;           /* RIFF数据块的4字节ID */

DWORD           cksize;         /* 数据块大小 */

FOURCC          fccType;        /* 数据块的形式类型 */

DWORD           dwDataOffset;   /* 数据块的数据起始位置偏移量 */

上一篇:mybatis+JMF模拟手机系统的常用功能
下一篇:Android基于MANET的周边车辆显示系统的设计

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

安康汉江网讯

麦秸秆还田和沼液灌溉对...

互联网教育”变革路径研究进展【7972字】

ASP.net+sqlserver企业设备管理系统设计与开发

张洁小说《无字》中的女性意识

网络语言“XX体”研究

新課改下小學语文洧效阅...

LiMn1-xFexPO4正极材料合成及充放电性能研究

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...