wav头文件的定义和接口(1)

来源:互联网 发布:淘宝优惠券真的假的 编辑:程序博客网 时间:2024/04/29 09:29
由于录音程序要生成wav文件,所有要自己定义wav 头文件和接口。
wav.h

#ifndef _WAV_OUT_H
#define _WAV_OUT_H

#include <sys/types.h>
typedef struct
{
    char FileChunkID[4];        // "RIFF"
    u_int32_t dwFileChunkLen;
    char RIFFType[4];            // "WAVE"
    char FmtChunkID[4];            // "fmt "
    u_int32_t dwFmtChunkLen;
    u_int16_t wCompression;
    u_int16_t wChannels;
    u_int32_t dwSamplesPerSec;
    u_int32_t dwAvgBytesPerSec;
    u_int16_t wBlockAlign;
    u_int16_t wBitsPerSample;
    char DataChunkID[4];        // "data"
    u_int32_t dwDataLen;
} __attribute__((packed)) WAV_HEAD;

ssize_t WaveInitHeader(FILE* fp, int sample_rate, int bite_per_sample, int channels);

ssize_t WaveWriteData(FILE* fp, void* buff, size_t);

int WaveSync(FILE* fp);


#endif //#def _WAV_OUT_H