📄 wave.c
字号:
#include "Wave.h"
// WaveHeader.c
void main(int argc, char **argv)
{
FILE *fpWav=NULL;
unsigned long size;
wav_pcm_header44 hwav;
short *data;
int i;
/*
* Get wave header information
*/
//fpWav = fopen(argv[1], "rb");
fpWav = fopen("music_source.wav", "rb");
if (fpWav)
{
fread(&hwav, sizeof(wav_pcm_header44), 1, fpWav);
/* Check wave header */
if ( (0==memcmp(hwav.ChunkID, "RIFF", 4)) &&(0==memcmp(hwav.Format, "WAVE", 4)) &&
(0==memcmp(hwav.SubChunk1ID, "fmt ", 4)) &&(0==memcmp(hwav.SubChunk2ID, "data", 4)) &&(1==hwav.AudioFormat))
{
printf("Wave audio data format:\n");
printf("Channel number: %d\n", hwav.NumChannels);
printf("SampleRate: %dHz\n", hwav.SampleRate);
printf("BitsPerSample: %dbits\n", hwav.BitsPerSample);
printf("Audio data size:%d\n", hwav.SubChun2Size);
}
/*
* Get wave data
*/
data=(short*)malloc(sizeof(short)*hwav.SubChun2Size);
for (i=0;i<hwav.SubChun2Size;i++)
{
fread(&data[i], sizeof(wav_pcm_header44), 1, fpWav);
}
fclose(fpWav);
fpWav = NULL;
}
else
{
printf("Open wave file %s failed!\n", argv[1]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -