C语言读取pcm格式,pcm文件转wav C语言

这是一个使用C语言将PCM原始数据转换为WAVE格式的程序。通过定义WAVE_HEADER、WAVE_FMT和WAVE_DATA结构体,并读取PCM文件,将其转换成WAV文件格式。程序中包含了读取PCM文件、创建WAVE文件头和数据块以及写入转换后的数据到WAV文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include #include

/**

* Convert PCM raw data to WAVE format

* @param pcmpath Input PCM file.

* @param channels Channel number of PCM file.

* @param sample_rate Sample rate of PCM file.

* @param wavepath Output WAVE file.*/

int transform_pcm_to_wave(const char *pcmpath, int channels, int sample_rate, const char *wavepath)

{

typedefstructWAVE_HEADER{char fccID[4]; //内容为"RIFF"

unsigned int dwSize; //最后填写,WAVE格式音频的大小

char fccType[4]; //内容为"WAVE"

}WAVE_HEADER;

typedefstructWAVE_FMT{char fccID[4]; //内容为"fmt "

unsigned int dwSize; //内容为WAVE_FMT占的字节数,为16

short int wFormatTag; //如果为PCM,改值为 1

short int wChannels; //通道数,单通道=1,双通道=2

unsigned int dwSamplesPerSec;//采样频率

unsigned int dwAvgBytesPerSec;/*==dwSam

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值