本次练习要求:将单声道origin_audio.pcm音频文件存入到双声道two_channel_audio.pcm的左声道中,将音量调节后的文件存入到右声道中。
如何将数据分别存储到左、右声道中,首先要了解16位双声道PCM数据的存储格式,如下:
左声道低字节-左声道高字节-右声道低字节-右声道高字节…,因此构成双通道时先以
2个字节写入左声道内容以构成左声道的数据,再以2个字节写入右声道内容以构成右声道数据。
以下为不同声道PCM的数据存储格式:
本次code将fopen替换为fopen_s
代码实现如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
short in_data;
short out_data_l;
short out_data_r;
short out_data;
short volume_adjust = 2;
int size = 0;
FILE *input_file;
FILE *output_file_l;
FILE *output_file_r;
FILE *two_channel_file;
int err = 0;
err =