0
wavファイル&を読むには、ビットレートを16から32に変更してください。しかし、私のプログラムはファイル全体をコピーしていません。ソースファイルは175KBです。宛先ファイルは2KBのみです。 1サンプルあたりのビット数は、最初から34バイトです。wavファイルの処理C
私のコードは次のとおりです。 -
#include<stdio.h>
void main()
{
FILE *fp,*fo;
char ch,ch1;
int j=0,s=0,arr[4],k=0;
long int i=0;
fp=fopen("msoft.wav","rb");
fo=fopen("dest.wav","wb");
while(1)
{
i=i+1;
ch=fgetc(fp);
if(ch==EOF)break;
else
{
if(i==34)
{
while(i<=35)
{
ch=fgetc(fp);
arr[j]=ch;
i++;
j++;
}
for(k=0;k<2;k++)
printf("\n%d",arr[k]);
s=arr[1];
s=(s<<8)+arr[0];
printf("\n\nS=%d",s);
s=s*2;
printf("\n new s=%d",s);
ch1=s & 255;
fputc(ch1,fo);
ch1=s & (255<<8);
fputc(ch1,fo);
}
else
fputc(ch,fo);
}
}
printf("\nOk");
getch();
}
助けてください。
:
は、関連の質問を参照してください。 – saurabh
@saurabh、あなたの質問を更新して、どのように変更したかを表示し、「うまくいきません」と言ったときにはもっと正確にしてください - 生成された出力の正確なサイズをポストしてください。それは悪いです。 – Mat