압축되지 않은 wave 파일에서 header 정보를 가져오는 소스


[CODE] #include typedef struct { char wavRIFFChunk[4]; long wavSize; char wavWAVEChunk[4]; char wavFMTChunk[4]; long wavFormatSize; short wavPCMFormatFlag; short wavChannel; long wavSampleRate; long wavSampleRatePerSec; short wavPerSecScale; short wavBits; char wavDataChunk[4]; long wavDataSize; }wav_header; int main(int argc, char** argv) { wav_header in_wav; FILE* fp; char pBuffer[5]; if(argc != 2) { printf("usage : getwavinfo.exe [wav_file]\n"); return 1; } if((fp = fopen(argv[1], "rb")) == NULL) { printf("file open error : %s\n", argv[1]); return 1; } fread(&in_wav, sizeof(wav_header), 1, fp); fclose(fp); strncpy(pBuffer, in_wav.wavRIFFChunk, 4); pBuffer[4] = 0; printf("Riff Chunk : %s\n", pBuffer); printf("Size : %d byte(s)\n", in_wav.wavSize); strncpy(pBuffer, in_wav.wavWAVEChunk, 4); pBuffer[4] = 0; printf("Wave Chunk : %s\n", pBuffer); strncpy(pBuffer, in_wav.wavFMTChunk, 4); pBuffer[4] = 0; printf("FMT Chunk : %s\n", pBuffer); printf("Format Size : %d\n", in_wav.wavFormatSize); printf("PCM Format Flag : %d\n", in_wav.wavPCMFormatFlag); printf("Channels : %d\n", in_wav.wavChannel); printf("Sample Rate : %d\n", in_wav.wavSampleRate); printf("Sample Rate Per Second : %d\n", in_wav.wavSampleRatePerSec); printf("Per Second Scale : %d\n", in_wav.wavPerSecScale); printf("Bits Per Sample : %d\n", in_wav.wavBits); strncpy(pBuffer, in_wav.wavDataChunk, 4); pBuffer[4] = 0; printf("Data Chunk : %s\n", pBuffer); printf("Data Size : %d\n", in_wav.wavDataSize); return 0; } [/CODE]
2007/04/03 16:57 2007/04/03 16:57
Posted by 인생을 설계하는 프로그래머

트랙백 보낼 주소 : http://love-02.com/trackback/79

<< PREV : [1] : ... [62] : [63] : [64] : [65] : [66] : [67] : [68] : [69] : [70] : ... [139] : NEXT >>

BLOG main image
by 인생을 설계하는 프로그래머

카테고리

Life Designer (139)
컴퓨터공학박사 (80)
세상 (24)
건강한 삶 (8)
I Love Korea (2)
海兵隊 (3)
Common Sense! (4)
Game is Life! (12)
Life of Digital (4)
추억으로의 여행 (0)
애마 카돌이! (1)
세상속으로! (1)

글 보관함

달력

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30