1. 程式人生 > >中國傳媒大學2016級研究生信源作業第一次

中國傳媒大學2016級研究生信源作業第一次

說明:wav檔案就是在pcm資料的基礎上加了一檔案頭。檔案頭的大小為44個位元組(沒有附件欄位的情況,如果有附加欄位問46個位元組),剔除檔案頭,就是純pcm取樣過來的資料。
 pcm構成要素:取樣率 ,聲道個數,資料符號特性(一般8位都是無符號的)
********************************************************************************************************/
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *infile, *outfile;

char *buf = NULL;
long length;


   if((infile = fopen ("e:\\1.wav", "rb+"))==NULL)
{
printf("Open the 1.wav failed\n");
return ;
}
else
{
printf("Open the 1.wav success\n");
}
if((outfile = fopen ("e:\\2.pcm", "wb"))==NULL)
{
printf("Open the 2.pcm failed\n");
return ;
}
else
{
printf("Open the 2.pcm success\n");
}
/*獲取檔案的長度*/

fseek(infile,0,SEEK_END);
length=ftell(infile);


buf = (char*)malloc(length-43);/*檔案資料段長度等於檔案總長度-檔案頭長度位置*/
fwrite(buf,1,length-44,outfile);/*檔案資料段長度為a-44,但指標是指向前一個指標*/
free( buf );
fclose(infile);
fclose(outfile);
}