聲音處理部分代碼,純C語言,在電腦上編譯生成一個.exe可執行程序后,將音頻文件復制到與.exe同級目錄下,運行軟件,輸入音頻文件名,回車
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #include "Music2.h"
- int main()
- {
- FILE *fpwav,*fp;
- int i=0,j=0,f;
- int size=0;
- short temp=0;
- unsigned short u8data;
- char s[30],cmd[30];
- printf("Please input xx.wav\n");
- scanf("%s",s);
- if((fp=fopen("PCM8.h","w+"))==NULL)
- {
- printf("Can't Creat File\n");
- system("pause");
- exit(0);
- }
- if((fpwav=fopen(s,"rb"))==NULL)
- {
- printf("Can't Open %s\n",s);
- system("pause");
- exit(0);
- }
- fseek(fpwav,0x2a,0);
- fread(&size,sizeof(int),1,fpwav);
- printf("SIZE:%d\n",size);
- printf("Wait process of %s......\n",s);
- fseek(fpwav,0x2e,0);
- rewind(fp);
- fprintf(fp,"const u8 PCM8[]={\n");
- for(i=1;i<=size/sizeof(short);i++)
- {
- for(j=0;j<8;j++)
- {
- f=fread(&temp,sizeof(short),1,fpwav);
- u8data=temp*2+32768;
- u8data=u8data/256;
- fprintf(fp,"0x%x,",u8data);
- }
- fprintf(fp,"\n");
- }
- fprintf(fp,"\n};");
- fclose(fp);
- fclose(fpwav);
- sprintf(cmd,"notepad.exe PCM8.h");
- system(cmd);
- system("pause");
- return 0;
- }
復制代碼 |