¾Õ ¿¹Á¦´Â ÀåÄ¡¸¦ ¿ ¶§ºÎÅÍ CD À½Áú·Î Æ÷¸ËÀ» ÁöÁ¤Çß´Ù. ¿¹Á¦¿¡¼ »ç¿ëÇÑ techno.wav »ç¿îµå ÆÄÀÏÀÌ ÀÌ Æ÷¸ËÀ̾î¼
¹«³È÷ Àß Àç»ýµÇÁö¸¸ Æ÷¸ËÀÌ ´Þ¶óÁö¸é Á¦´ë·Î Àç»ýµÇÁö ¾Ê´Â´Ù. ¹èÆ÷ ÆÄÀÏ¿¡´Â ´ÙÀ½ 3°³ÀÇ wav ÆÄÀÏÀÌ ÀÖ´Ù. ´õ
¸¹ÀÌ ³Ö°í ½ÍÁö¸¸ Ȩ ÆäÀÌÁö Æ®·¡ÇÈÀÌ ³Ë³ËÇÏÁö ¸øÇØ ¸î °³¸¸ ³Ö¾ú´Ù.
ÆÄÀÏ |
ä³Î¼ö |
»ùÇà ºñÆ®¼ö |
»ùÇà ·¹ÀÌÆ® |
¿ë·® |
½Ã°£ |
techno.wav |
2 |
16 |
44K |
1.3M |
8ÃÊ |
takeonme.wav |
1 |
16 |
22K |
775K |
18ÃÊ |
emart.wav |
1 |
8 |
8K |
265K |
34ÃÊ |
º¸Åë CD À½Áú·Î ³ìÀ½µÈ ÆÄÀÏÀÌ ¸¹Áö¸¸ ¿ë·®À» ¾Æ³¢±â À§ÇØ ÀúÀ½Áú·Î
³ìÀ½µÈ °æ¿ìµµ ÀÖ´Ù. ´Ù¸¥ ÆÄÀÏÀº ¾î¶»°Ô Àç»ýµÇ´ÂÁö »ùÇà ÆÄÀÏÀ» ¹Ù²ã º¸ÀÚ.
hFile =
CreateFile(TEXT("c:\\Temp\\takeonme.wav"), GENERIC_READ,
FILE_SHARE_READ, NULL,
hFile =
CreateFile(TEXT("c:\\Temp\\emart.wav"), GENERIC_READ,
FILE_SHARE_READ, NULL,
takeonme.wav´Â 22K ¸ð³ë¿©¼
»ùÇÃÀÇ µ¥ÀÌÅ;çÀÌ CD À½ÁúÀÇ ¹ÝÀÇ ¹Ý¹Û¿¡ µÇÁö ¾Ê´Â´Ù. Æ÷¸ËÀÌ
´Þ¶óµµ ´Ù¿îµÇÁö´Â ¾ÊÁö¸¸ ´Ù·®ÀÇ »ùÇÃÀ» ªÀº ½Ã°£¿¡ Ãâ·ÂÇÏ´Ù º¸´Ï 4¹è¼ÓÀ¸·Î Àç»ýµÈ´Ù. emart.wav´Â À½ÁúÀÌ ´õ ³·¾Æ Âü»õ°¡ ¹æÁ¤¸Â°Ô ±±°Å¸®´Â ¼Ò¸®·Î µé¸°´Ù.
¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é Àç»ýÇÒ ¿þÀ̺ê ÆÄÀÏÀÇ Æ÷¸Ë¿¡ ¸Â°Ô ÀåÄ¡¸¦ ¿¾î¾ß ÇÑ´Ù. ¿þÀ̺ê
ÆÄÀÏÀÇ ¼±µÎ¿¡´Â Æ÷¸ËÀ» ¼³¸íÇÏ´Â Çì´õ°¡ ÀÖÀ¸¸ç ÀÌ ¾È¿¡ ´ÙÀ½°ú °°Àº Á¤º¸°¡ µé¾î ÀÖ´Ù. ¿þÀ̺ê ÆÄÀÏÀÓÀ»
³ªÅ¸³»´Â Ç¥½Ä Á¤º¸(magic number)¿Í ÆÄÀÏ Å©±â Á¤º¸ µîÀÌ ´ëºÎºÐÀ̸ç Æ÷¸Ë¿¡ °ü·ÃµÈ Á¤º¸´Â
ÆĶõ»öÀ¸·Î Ç¥½ÃÇÑ ¼¼ ºÎºÐÀÌ´Ù.
Çí»ç ÆíÁý±â·Î ¿¾î º¸¸é º¼ ¼ö ÀÖ´Ù. ÀÌ Á¤º¸¸¦ ÀÐÀ¸·Á¸é ¿øÄ¢ÀûÀ¸·Î´Â
±¸Á¶Ã¼¸¦ Á¤ÀÇÇÏ°í Çì´õ¸¦ ÀÐÀº ÈÄ ÇÊ¿äÇÑ ¸â¹ö¸¦ »© ³»¾ß ÇÑ´Ù. ³Ê¹« ¹ø°Å·Ó°í ±ÍÂúÀ¸´Ï ±×³É ¿ÀÇÁ¼Â 22, 24, 34·Î À̵¿ÇÏ¸ç ¹Ù·Î ÀÐ¾î ¹ö¸®´Â °ÍÀÌ °£ÆíÇÏ´Ù.
// ÆÄÀÏ¿¡¼ Æ÷¸Ë Á¤º¸¸¦ ±¸ÇØ ÀåÄ¡¸¦ ¿¬´Ù.
SetFilePointer(hFile, 22, NULL, SEEK_SET);
ReadFile(hFile, &wf.nChannels, 2, &dwRead, NULL);
SetFilePointer(hFile, 24, NULL, SEEK_SET);
ReadFile(hFile, &wf.nSamplesPerSec, 4, &dwRead, NULL);
SetFilePointer(hFile, 34, NULL, SEEK_SET);
ReadFile(hFile, &wf.wBitsPerSample, 2, &dwRead, NULL);
ÆÄÀÏ Æ÷ÀÎÅ͸¦ ¿øÇÏ´Â ¿ÀÇÁ¼ÂÀ¸·Î ¿Å°Ü°¡¸ç wf ±¸Á¶Ã¼ÀÇ ¸â¹öÀÇ À§Ä¡¿¡
Àоú´Ù. Áö±ØÈ÷ C °³¹ßÀÚ ´Ù¿î ÄÚµåÀÌÁö¸¸ ÀÌ·± ¹æ½ÄÀÌ ºü¸£°í
È¿À²ÀûÀÌ´Ù. ä³Î, »ùÇ÷¹ÀÌÆ®, ºñÆ®¼ö¸¦ ÆÄÀÏ¿¡¼ ±¸ÇØ Æ÷¸Ë ±¸Á¶Ã¼¿¡ ä¿üÀ¸¹Ç·Î ÀåÄ¡°¡ ÆÄÀÏ¿¡ µü ¸Â°Ô ¿¸°´Ù.
ÀÌÁ¦ ¾Æ¹« ÆÄÀÏÀ̳ª Àß Àç»ýµÈ´Ù. Á¤º¸·®ÀÌ ´Ù¸£´Ï À½ÁúÀÇ Â÷ÀÌ´Â ÀÖÁö¸¸
¼Óµµ°¡ »¡¶óÁö°Å³ª ´À·ÁÁöÁö ¾Ê°í Á¤»óÀûÀ¸·Î Àß Àç»ýµÈ´Ù. ÆÄÀÏÀ» ¹Ù²ã °¡¸ç Å×½ºÆ®ÇØ º¸ÀÚ. ¾ÆÁÖ Æ¯¼öÇÑ ¾ÐÃà wav°¡ ¾Æ´Ñ ÇÑ ¹®Á¦¾øÀÌ Àç»ýÇØ ³½´Ù.