本deemo基于下面这篇文章的deemo实现
基于C语言的 WAV 文件双声道转单声道的实现_快乐的老鼠的博客-CSDN博客_wav 双声道转单声道
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define u8 unsigned char
#define u16 unsigned short
#define u32 unsigned long
#define WAV_URL "./test2ch.wav"
#define WAV_LEFT_URL "./test2ch_left.wav"
#define WAV_RIGHT_URL "./test2ch_right.wav"
//44字节
typedef struct {
u8 riff_mark[4]; //0
u32 file_size; //4
u8 wave_str[4]; //8
u8 fmt_str[4];
u32 pcm_bit_num;
u16 pcm_encode;
u16 sound_channel;
u32 pcm_sample_freq;
u32 byte_freq;
u16 block_alin;
u16 sample_bits;
u8 data_mark[4];
u32 sound_size;
} WAV_Typedef;
WAV_Typedef WAVFile_Array;
u16 *Sound_Data;
u8 *Read_Sound_Data;
union Union_Data {
char b[4];
short s[2];
long w;
};
union Union_Data uniondat;
int debug_print_cnt;
long fw_cn

该博客介绍了一种使用C语言将双声道WAV文件转换为单声道的方法。首先读取WAV文件头信息,然后解析并检查文件结构。接着,通过读取数据并平均左右声道来生成新的单声道文件。最后,将结果写入两个新的单声道WAV文件。整个过程涉及文件I/O、内存管理和位操作。

4868

被折叠的 条评论
为什么被折叠?



