5.Å« ÆÄÀÏ Àç»ý

»ç¿îµå ÆÄÀÏÀ» Àç»ýÇÏ´Â °Í ÀÚü°¡ ¸ñÀûÀ̶ó¸é ÈξÀ ´õ ÁÁÀº ¹æ¹ýÀÌ ÀÖ´Ù. ´ÙÀ½ ÇÑÁÙÀ̸é ÆÄÀÏÀ» Àоî Àç»ýÇϴ ó¸®¸¦ ´Ù ÇØ ÁÖ¸ç ºñµ¿±âÀûÀ¸·Î Àç»ýÇÒ ¼öµµ ÀÖ´Ù.

 

PlaySound(TEXT("c:\\Temp\\takeonme.wav"), NULL, SND_FILENAME);

 

±×·¯³ª °í¼öÁØ ÇÔ¼ö´Â Ç×»ó Àüü ÆÄÀÏÀ» ¸Þ¸ð¸®·Î ¿Ã¸° ÈÄ Àç»ýÇϱ⠶§¹®¿¡ ¿ë·®ÀÇ Á¦ÇÑÀÌ ÀÖ°í ÀϽà Á¤Áö³ª ±¸°£ Àç»ý µîÀÇ ±â¹ýÀ» ±¸»çÇÒ ¼ö ¾ø´Ù. ´Ü¹ßÀûÀÎ È¿°úÀ½ Á¤µµ¿¡¸¸ ÀûÇÕÇÏ´Ù. ÀÌ Á¤µµ ¼Ò¸®¸¦ Ãâ·ÂÇϴµ¥ ±»ÀÌ Àú¼öÁØ ÇÔ¼ö¸¦ µ¿¿øÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿þÀ̺ê ÆÄÀÏÀ» ºÐ¼®ÇÏ¿© Á÷Á¢ Àç»ýÇÏ´Â ÀÌÀ¯´Â ÀÚÀ¯¸¦ ¾ò±â À§Çؼ­ÀÌ´Ù.

¸ÖƼ¹Ìµð¾î ÆÄÀÏÀº ¼ö¹é ¸Þ°¡´Â ¹°·ÐÀÌ°í ¼ö ±â°¡ ´ÜÀ§¸¦ ³ÑÀ» ¼öµµ ÀÖ¾î Çѹø¿¡ ¸Þ¸ð¸®¿¡ ´Ù ÀоîµéÀÏ ¼ö ¾ø´Ù. ÆÄÀÏÀÇ Å©±â¸¦ ¿¹ÃøÇÒ ¼ö ¾øÀ¸´Ï ·çÇÁ¸¦ µ¹¸ç Á¶±Ý¾¿ À߶ó ¼ø¼­´ë·Î Àç»ýÇØ¾ß ÇÑ´Ù. »ùÇà ÆÄÀÏÀº ±æÀÌ°¡ ªÁö¸¸ ±æ´Ù°í °¡Á¤ÇÏ°í Á¶°¢ Á¶°¢ ³»¼­ Àç»ýÇØ º¸ÀÚ. ÆÄÀÏÀ» º¹»çÇϰųª ±ä ¹®ÀÚ¿­À» Ãâ·ÂÇÏ´Â ÀýÂ÷¿Í ºñ½ÁÇÏ´Ù.

 

....

char* samplebuf;

DWORD bufsize;

WAVEFORMATEX wf;

WAVEHDR hdr = { NULL, };

 

int main()

{

           ....

           waveOutOpen(&hWaveDev, WAVE_MAPPER, &wf, (DWORD)NULL, 0, CALLBACK_NULL);

           SetFilePointer(hFile, 44, NULL, SEEK_SET);

 

        bufsize = wf.nAvgBytesPerSec;

        samplebuf = (char*)malloc(bufsize);

        hdr.lpData = samplebuf;

 

        do {

                   ReadFile(hFile, samplebuf, bufsize, &dwRead, NULL);

                   printf("Read %d\n", dwRead);

 

                   hdr.dwBufferLength = dwRead;

                   waveOutPrepareHeader(hWaveDev, &hdr, sizeof(WAVEHDR));

                   waveOutWrite(hWaveDev, &hdr, sizeof(WAVEHDR));

                   Sleep(1000);

        } while (dwRead == bufsize);

 

        waveOutUnprepareHeader(hWaveDev, &hdr, sizeof(WAVEHDR));

           free(samplebuf);

           waveOutClose(hWaveDev);

           CloseHandle(hFile);

           return 0;

}

 

ÆÄÀÏÀ» Çѹø¿¡ ÀÐÁö ¾ÊÀ¸¹Ç·Î filesize º¯¼ö´Â ÇÊ¿ä ¾ø´Ù. ´ë½Å Á¶°¢³»¼­ ÀÐÀ» ºÐ·®ÀÎ bufsize º¯¼ö°¡ ÇÊ¿äÇÏ´Ù. samplebuf¸¦ ÀÏÁ¤ ºÐ·®¸¸Å­ ÇÒ´çÇ쵂 1ÃÊ ºÐ·®ÀÎ nAvgBytesPerSec Á¤µµ¸é ÃæºÐÇÏ´Ù. ÀÌ °æ¿ì´Â 44K Å©±âÀÌ´Ù.

ÆÄÀÏÀ» ´Ù ÀÐÁö ¾Ê°í ·çÇÁ¸¦ µ¹¸ç ¹öÆÛÀÇ Å©±â¸¸Å­ Àоî ÀåÄ¡·Î º¸³½´Ù. 1ÃÊ ºÐ·®À» º¸³ÂÀ¸¹Ç·Î ´Ù Àç»ýÇÒ ¶§±îÁö 1Ãʸ¦ ±â´Ù·Á¾ß ÇÏ¸ç ´ÙÀ½ ·çÇÁ¿¡¼­ ¶Ç 1ÃÊ ºÐ·®¸¸Å­ º¸³»±â¸¦ ´Ù ÀÐÀ» ¶§±îÁö ¹Ýº¹ÇÏ¸é µÈ´Ù. 18ÃÊÂ¥¸® »ç¿îµå°¡ 18Á¶°¢ÀÌ µÇ¾î 18¹ø Àç»ýµÈ´Ù.

óÀ½¿¡´Â ºÎµå·´°Ô ¿¬°áµÇ´Â °Í °°¾Æ ´ëÃæ µé¾îÁÙ¸¸ ÇÏ´Ù. ±×·¯³ª µÞºÎºÐÀ¸·Î °¡¸é ¼Ò¸®°¡ ¶Ò¶Ò ²÷¾îÁø´Ù. Sleep ÇÔ¼öÀÇ Áö¿¬ ½Ã°£ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» »Ó¸¸ ¾Æ´Ï¶ó ÆÄÀÏÀ» Àд ½Ã°£µµ °í·ÁÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù. Áö¿¬ ½Ã°£À» 800À¸·Î ¹Ù²Ù¸é Á¶°¢³¢¸® ¼Ò¸®°¡ °ãÃÄ µÞºÎºÐ ÀϺΰ¡ Àß·Á ³ª°£´Ù. ³í¸®ÀûÀÎ ÀÌÀ¯¸¦ ¼³¸íÇÏÁö ¾Ê´õ¶óµµ ÀÌ·± °£´ÜÇÑ ¹æ¹ýÀº ¹®Á¦°¡ ¸¹À½À» Á÷°üÀûÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖ´Ù.

µ¥ÀÌÅ͸¦ Á¶°¢³»¼­ ó¸®ÇÏ´Â ¾Ë°í¸®ÁòÀº ¿ø·ÐÀûÀÌ°í ´©±¸³ª »ý°¢ÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏ Àб⳪ ³×Æ®¿öÅ© ÀÔÃâ·ÂÀº ÀÌ ¹æ½ÄÀÌ Àß ÅëÇÏÁö¸¸ ½Ã°£À» ¾ö¼öÇØ¾ß ÇÏ´Â »ç¿îµå Àç»ýÀº ÀÌ·± ¿ø½ÃÀûÀÎ ¹æ¹ýÀ¸·Î´Â ºÎµå·´°Ô ¿¬°áµÇÁö ¾Ê´Â´Ù. °á±¹ ÀÌ ÀÛÀüÀº ½ÇÆдÙ.