Audio 合并两个pcm文件时的噪声
我正在合并两个pcm数据,结果pcm具有额外的GRRRR噪声。我的代码是:Audio 合并两个pcm文件时的噪声,audio,pcm,Audio,Pcm,我正在合并两个pcm数据,结果pcm具有额外的GRRRR噪声。我的代码是: int main(void) { FILE *rCAudio; FILE *raudio; FILE *wtest; rCAudio=fopen("Audio1.pcm","rb"); //Reading first pcm file if(rCAudio==NULL) cout<<"Errr"; raudio=fopen(
int main(void)
{
FILE *rCAudio;
FILE *raudio;
FILE *wtest;
rCAudio=fopen("Audio1.pcm","rb"); //Reading first pcm file
if(rCAudio==NULL)
cout<<"Errr";
raudio=fopen("Audio2.pcm","rb"); //Reading second pcm file
if(raudio==NULL)
cout<<"Errr";
fopen_s(&wtest,"AudioMerge.pcm","ab"); // Writing final pcm file
short* first= new short[1792];;
short* second= new short[1792];;
short* merge = new short[1792];
short sample1,sample2;
while(1)
{
fread(first,2,1792,rCAudio);
fread(second,2,1792,raudio);
for(int j=0;j<1792;j++)
{
sample1 = first[j];
sample2 = second[j];
int mixedi=(int)sample1 + (int)sample2;
if (mixedi>32767) mixedi=32767;
if (mixedi<-32768) mixedi=-32768;
merge[j] =(short)mixedi;
}
fwrite(merge,2,1972,wtest);
}
}
int main(无效)
{
文件*rCAudio;
档案*劳迪奥;
文件*wtest;
rCAudio=fopen(“Audio1.pcm”,“rb”);//读取第一个pcm文件
如果(rCAudio==NULL)
我得到了解决方案,问题是:
我写过一次4096字节的Audio1.pcm和一次4096字节的Audio2.pcm,但简而言之,我一次读1972字节
所以我纠正了这个错误,每次读取4096字节,然后通过第三个合并文件保存4096字节