|
|||||
- File #1 : woman.wav(), Download : 42 |
À½... µµ½Ã¹Ù µ¿È£È¸°¡ Á¡Á¡ µðÄ«µ¿, Á¢»çµ¿À¸·Î ¹Ù²î¾î °¡´Â °Í °°½À´Ï´Ù. »õ·Î¿î º¯½ÅÀΰ¡? À̹ø ½Ã°£¿¡´Â Àú¼öÁØÀÇ wave ÇÔ¼ö¸¦ »ç¿ëÇؼ ¼Ò¸® ÆÄÀÏÀ» ´Ù·ç¾î º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. Àú¼öÁØÀÇ wave ÇÔ¼ö¸¦ »ç¿ëÇؼ ¼Ò¸® ÆÄÀÏÀ» ´Ù·ç´Â ¹æ¹ýÀº PlaySound ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °Í°ú´Â ºñ±³µµ ¾ÈµÉ Á¤µµ·Î ¾î·Æ½À´Ï´Ù. ¹º°¡ Çϳª¸¸ »ß²ýÇصµ ¼Ò¸®°¡ ³ªÁö ¾Ê°í ±× °æ¿ì Ãʺ¸ÀÚ´Â ¾îµð¿¡¼ ¹®Á¦°¡ ÀÖ´ÂÁöµµ ã±â°¡ ¸Å¿ì ¾î·Æ½À´Ï´Ù. ±×·±µ¥ ¿Ö Àú¼öÁØÀÇ wave ÇÔ¼ö¸¦ »ç¿ëÇÒ±î¿ä? ±×°ÍÀº ¾î´ÀÁ¤µµ ÀÚÀ¯·Ó°Ô ¼Ò¸® ÆÄÀÏÀ» ´Ù·ê ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î mp3 ÆÄÀÏÀ» ÀÐ¾î º¯È¯ÇÏ¸é¼ ¼Ò¸®¸¦ ³½´Ù°Å³ª, ¿©·¯°³ÀÇ ¼Ò¸® ÆÄÀÏÀ» µ¿½Ã¿¡ ´Ù·ç´Â °æ¿ì µîÀ̳ª °ÔÀÓ°ú °°Àº Àü¹®ÀûÀÎ ÀÛ¾÷ ¶Ç´Â ´Ù¾çÇÑ ÀÛ¾÷À» ÇÊ¿ä·Î ÇÒ ¶§¿¡´Â Àú¼öÁØÀÇ wave ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹Ýµå½Ã ÀÍÇô µÎ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à ´Ü¼øÈ÷ ¼Ò¸®¸¦ ³»±â¸¸ ÇÑ´Ù¸é Àü ½Ã°£ÀÇ PlaySound ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °Í ¸¸À¸·Îµµ ÃæºÐÇÕ´Ï´Ù. Àü½Ã°£°ú ¶È°°Àº µ¿ÀÛÀ» ÇÏ´Â Àú¼öÁØ wave ÇÔ¼ö¸¦ »ç¿ëÇÑ ÇÁ·Î±×·¥À» ¸¸µé¾î º¸°Ú½À´Ï´Ù. 1. ¼Ò¸® ÆÄÀÏÀ» ´Ù¿î ¹Þ¾Æ SD Ä«µå¿¡ ÀúÀåÇÕ´Ï´Ù. ¿©±â¼´Â SD Ä«µå¿¡ ÀúÀåÇÏ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù. ¸¸¾à ´Ù¸¥ °÷¿¡ ÀúÀåÇϽô ºÐÀº ±×¿¡ µû¶ó ¼Ò¸® ÆÄÀÏÀ» ÀÐÀ» ¶§ÀÇ °æ·Î¸¦ ÁöÁ¤ÇØ Áֽñ⠹ٶø´Ï´Ù. 2. »õ·Î¿î ÇÁ·ÎÁ§Æ® Exam25¸¦ ¸¸µì´Ï´Ù. ±×¸®°í Hello World¸¦ Ãâ·ÂÇÏ´Â Äڵ带 ¸ðµÎ Áö¿ó´Ï´Ù. 3. ÇÁ·Î±×·¥ÀÇ °¡Àå À§ ºÎºÐ Àü¿ª º¯¼ö ¿µ¿ª¿¡ ¾Æ·¡¿Í °°ÀÌ º¯¼ö 2°³¸¦ ¼±¾ðÇÕ´Ï´Ù. 1°³ÀÇ ¼Ò¸® ÆÄÀÏ ´ç ¾Æ·¡¿Í °°Àº 2°³ÀÇ º¯¼ö°¡ ÇÊ¿äÇÕ´Ï´Ù. // Global Variables: HINSTANCE g_hInst; HWND g_hwndCB; ¢º WAVEHDR g_whdr; ¢º HWAVEOUT g_hwo; WAVEHDR Çü º¯¼ö´Â ¼Ò¸® ÆÄÀÏÀ» Àоî ÀúÀåÇÒ º¯¼öÀÌ°í HWAVEOUT Çü º¯¼ö´Â Sound ÀåÄ¡¸¦ Á¦¾îÇϱâ À§ÇÑ ÇÚµé º¯¼öÀÔ´Ï´Ù. 4. Àü¿ª º¯¼ö ¼±¾ð ¿µ¿ª ¹Ù·Î ¾Æ·¡ÀÇ ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔ ¼±¾ð ¿µ¿ª¿¡ ¾Æ·¡¿Í °°ÀÌ ¿ì¸®°¡ ¸¸µé ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔÀ» ¼±¾ðÇÕ´Ï´Ù. ¿ø·¡ ÀÌ °úÁ¤Àº ÇÔ¼ö¸¦ ¸¸µé¸é¼ Çϳª¾¿ Ãß°¡ÇÏÁö¸¸ ¿©±â¼´Â ¹Ì¸® ¼±¾ðÇØ µÓ´Ï´Ù. // Forward declarations of functions included in this code module: ...... ¢º int ReadWave( char* sFName, WAVEHDR* pwhdr ); ¢º HWAVEOUT PlayWave( HWND hWnd, WAVEHDR* pwhdr ); ¢º void StopWave( HWAVEOUT hwo, WAVEHDR* pwhdr ); 5. ÀÌÁ¦ºÎÅÍ ÇÔ¼ö¸¦ Çϳª¾¿ Ãß°¡ÇØ ÁÝ´Ï´Ù. ÀÌÈÄ Ãß°¡µÇ´Â ÇÔ¼ö´Â ±ÛÀÚ ÇÑÀÚ¸¸ Ʋ·Áµµ µ¿ÀÛÇÏÁö ¾ÊÀ¸¹Ç·Î ŸÀÌÇο¡ ÀÚ½ÅÀÌ ¾øÀ¸½Å ºÐÀº º¹»çÇؼ »ç¿ëÇϽðí, ¼³¸íÀÌ ÀÌÇØ°¡ ¾ÈµÇ½Ã´Â ºÐÀº °Ç³Ê ¶Ùµµ·Ï Çϼ¼¿ä. ÇÏÁö¸¸ È°¿ëÇϱâ À§Çؼ´Â ÀÌÇØÇϽô °ÍÀÌ ÁÁ°ÚÁÒ? ¸ÕÀú ReadWave ÇÔ¼ö¸¦ ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ ¾Æ·¡¿¡ ¾Æ·¡¿Í °°ÀÌ Ãß°¡ÇØ ÁÝ´Ï´Ù. ¢º int ReadWave( char* sFName, WAVEHDR* pwhdr ) ¢º { ¢º FILE* fp; ¢º ¢º memset( pwhdr, 0, sizeof(WAVEHDR) ); ¢º ¢º fp = fopen( sFName, rb ); ¢º if( fp == NULL ) return 0; ¢º ¢º fseek( fp, 0, SEEK_END ); ¢º pwhdr->dwBufferLength = ftell( fp ); ¢º fseek( fp, 0, SEEK_SET ); ¢º ¢º pwhdr->lpData = new char [ pwhdr->dwBufferLength ]; ¢º fread( pwhdr->lpData, pwhdr->dwBufferLength, 1, fp ); ¢º fclose( fp ); ¢º ¢º return 1; ¢º } ReadWave ÇÔ¼ö´Â ÆÄÀϸíÀ» ¹Þ¾Æ pwhdr º¯¼ö¿¡ ÆÄÀÏÀÇ ³»¿ëÀ» ÀоîÁÖ´Â ÀÛ¾÷À» ÇÕ´Ï´Ù. memset( pwhdr, 0, sizeof(WAVEHDR) ); º¯¼ö pwhdrÀ» ¸ðµÎ 0À¸·Î ä¿ó´Ï´Ù. fp = fopen( sFName, rb ); if( fp == NULL ) return 0; ÁÖ¾îÁø ÆÄÀϸíÀ¸·Î ÆÄÀÏÀ» ¿¾îº¸°í ÆÄÀÏÀÌ ¾øÀ¸¸é ÇÔ¼ö¸¦ ºüÁ®³ª°©´Ï´Ù. fseek( fp, 0, SEEK_END ); pwhdr->dwBufferLength = ftell( fp ); fseek( fp, 0, SEEK_SET ); ÆÄÀÏÀÇ Å©±â¸¦ ¾Ë¾Æ³À´Ï´Ù. ÆÄÀÏÀÇ Á¦ÀÏ ³¡À¸·Î À̵¿Çؼ ±× À§Ä¡¸¦ ±¸Á¶Ã¼ º¯¼ö pwhdrÀÇ ³»ºÎ º¯¼ö dwBufferLength ¿¡ ÀúÀåÇÕ´Ï´Ù. ±×¸®°í, ÆÄÀÏÀ» Àбâ À§ÇØ ´Ù½Ã Á¦ÀÏ ¾ÕÀ¸·Î À̵¿ÇÕ´Ï´Ù. (ÀÌ°ÍÀº ÆÄÀÏÀÇ Å©±â¸¦ ¾Ë¾Æ³»±â À§ÇÑ ÀϹÝÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù.) pwhdr->lpData = new char [ pwhdr->dwBufferLength ]; ÆÄÀÏÀ» Àбâ À§ÇØ ÆÄÀÏ Å©±âÀÇ ¸Þ¸ð¸®¸¦ ¼±¾ðÇؼ ±¸Á¶Ã¼ ³»ÀÇ º¯¼ö lpData °¡ °¡¸®Å°µµ·Ï ÇÕ´Ï´Ù. fread( pwhdr->lpData, pwhdr->dwBufferLength, 1, fp ); fclose( fp ); ÆÄÀÏÀ» ÀÐ¾î ±¸Á¶Ã¼ ³»ÀÇ º¯¼ö lpData ¿¡ ÀúÀåÇÕ´Ï´Ù. ±×¸®°í ÆÄÀÏÀ» ´Ý½À´Ï´Ù. 6. ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ ¾Æ·¡¿¡ ¾Æ·¡¿Í °°ÀÌ PlayWave ÇÔ¼ö¸¦ Ãß°¡ÇØ ÁÝ´Ï´Ù. ¢º HWAVEOUT PlayWave( HWND hWnd, WAVEHDR* pwhdr ) ¢º { ¢º HWAVEOUT hwo = NULL; ¢º MMRESULT mmr; ¢º WAVEFORMATEX wfex; ¢º ¢º memcpy( &wfex, pwhdr->lpData+20, sizeof(WAVEFORMATEX) ); ¢º mmr = waveOutOpen( &hwo, WAVE_MAPPER, &wfex, ¢º (DWORD)hWnd, 0, CALLBACK_WINDOW ); ¢º if( mmr != MMSYSERR_NOERROR ) return NULL; ¢º mmr = waveOutPrepareHeader(hwo, pwhdr, sizeof(WAVEHDR)); ¢º if( mmr != MMSYSERR_NOERROR ) return NULL; ¢º mmr = waveOutWrite(hwo, pwhdr, sizeof(WAVEHDR)); ¢º if( mmr != MMSYSERR_NOERROR ) return NULL; ¢º return hwo; ¢º } PlayWave ÇÔ¼ö´Â ½ÇÁ¦·Î ¼Ò¸®°¡ ³ªµµ·Ï ÇÕ´Ï´Ù. hWnd ´Â ¸Þ½ÃÁö¸¦ Àü´Þ¹Þ±â À§ÇÑ À©µµ¿ì ÇÚµéÀÌ°í pwhdr Àº ¼Ò¸®¸¦ ³»±â À§ÇÑ µ¥ÀÌÅÍ°¡ µé¾î ÀÖ½À´Ï´Ù. ¿©±â¼ »ç¿ëÇÏ´Â ÇÔ¼öµéÀº ¸¶ÀÌÅ©·Î ¼ÒÇÁÆ®°¡ Á¤ÇÑ ÀÏÁ¾ÀÇ Ç¥ÁØÀÔ´Ï´Ù. ÀÏ¹Ý À©µµ¿ì ÇÁ·Î±×·¡¹Ö¿¡¼µµ ÀÌ ÇÔ¼öµéÀ» »ç¿ëÇÕ´Ï´Ù. »ç¿ë ¼ø¼µµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. HWAVEOUT hwo = NULL; MMRESULT mmr; WAVEFORMATEX wfex; º¯¼ö hwo ´Â »ç¿îµå ÀåÄ¡¸¦ Á¦¾îÇϱâ À§ÇÑ ÇÚµéÀÔ´Ï´Ù. À©µµ¿ì¸¦ Á¦¾îÇϱâ À§ÇÑ ÇÚµé hWnd °¡ ÀÖ°í DC¸¦ Á¦¾îÇϱâ À§ÇÑ ÇÚµé hdc °¡ ÀÖµíÀÌ »ç¿îµå ÀåÄ¡¸¦ Á¦¾îÇϱâ À§ÇÑ ÇÚµé·Î hwo¸¦ »ç¿ëÇÕ´Ï´Ù. º¯¼ö mmrÀº Àú¼öÁØ wave ÇÔ¼ö¸¦ ½ÇÇàÇÑ ÈÄ ¿¡·¯°¡ ÀÖ´ÂÁö¸¦ ¾Ë¾Æ³»±â À§ÇÑ ÇÔ¼öÀÔ´Ï´Ù. Àú¼öÁØ ÇÔ¼öÀÇ return °ªÀ» ÀÌ º¯¼ö¿¡ ÀúÀåÇؼ ½ÇÇà¿¡ ¹®Á¦°¡ ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ ¾Ë¾Æ ³À´Ï´Ù. º¯¼ö wfex ´Â waveOutOpen ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ »ç¿ëÇϱâ À§ÇÑ º¯¼öÀÔ´Ï´Ù. waveOutOpen ÇÔ¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ÀÌ º¯¼öÀÇ °ªµéÀ» ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸ð³ëÀÎÁö ½ºÅ×·¹¿ÀÀÎÁö, ÁÖÆļö´Â ¾ó¸¶ÀÎÁö, ÃÊ´ç ÇÊ¿äÇÑ µ¥ÀÌÅÍÀÇ Å©±â´Â ¾ó¸¶°¡ µÇ´ÂÁö, ÇÑ ÁÖÆļö´ç ÇÊ¿äÇÑ ºñÆ® ¼ö´Â ¾ó¸¶ÀÎÁö µîÀÇ Á¤º¸¸¦ ÀÌ º¯¼ö¿¡ Àû¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù. memcpy( &wfex, pwhdr->lpData+20, sizeof(WAVEFORMATEX) ); À§¿¡¼ ¾ð±ÞÇÑ Á¤º¸¸¦ wfex ¿¡ Àû¾î ÁÖµµ·Ï ÇÕ´Ï´Ù. ÀÌ Á¤º¸µéÀº ¼Ò¸® ÆÄÀÏÀÇ 20¹ø° ¹ÙÀÌÆ®ºÎÅÍ ÀÖ½À´Ï´Ù. ±×·¡¼ ÀоîµéÀÎ µ¥ÀÌÅÍÀÇ 20 ¹ø°ºÎÅÍ º¯¼öÀÇ Å©±â¸¸Å ¸Þ¸ð¸® º¹»ç¸¦ ÇÕ´Ï´Ù. ±×·¯¸é º¯¼ö wfex ¿¡ ÇÊ¿äÇÑ Á¤º¸µéÀÌ Ã¤¿öÁý´Ï´Ù. ÀÌ ÀÛ¾÷ ÈÄ wfex ÀÇ °ªµéÀ» Ãâ·ÂÇØ º¸¸é ¼Ò¸® ÆÄÀÏÀÇ Á¤º¸¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. mmr = waveOutOpen( &hwo, WAVE_MAPPER, &wfex, (DWORD)hWnd, 0, CALLBACK_WINDOW ); ¼Ò¸®¸¦ ³»±â À§ÇØ Sound ÀåÄ¡¸¦ ¿µµ·Ï ÇÕ´Ï´Ù. ±× ÀåÄ¡¸¦ º¯¼ö hwo °¡ °¡¸®Å°µµ·Ï ÇÕ´Ï´Ù. µÎ ¹ø° º¯¼ö WAVE_MAPPER ´Â ¼Ò¸®¸¦ ³»±â À§ÇÑ µ¥ÀÌÅÍ°¡ wave µ¥ÀÌÅÍÀ̹ǷΠwave ¿Í °ü·ÃµÈ ÀåÄ¡¸¦ ¿µµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù. ¼¼ ¹ø° Àμö wfex °¡ ¼Ò¸® ÀåÄ¡¸¦ ¿ ¶§ ±× ÀåÄ¡¸¦ ¼ÂÆÃÇÏ´Â Á¤º¸¸¦ ´ã°Ô µË´Ï´Ù. ³× ¹ø° Àμö hWnd ´Â Sound ÀåÄ¡¿Í °ü·ÃµÈ ¸Þ½ÃÁö¸¦ À©µµ¿ì°¡ ¹Þµµ·Ï Çϱâ À§ÇØ À©µµ¿ìÀÇ ÇÚµéÀ» ³Ñ°ÜÁÖ´Â °ÍÀÔ´Ï´Ù. ´Ù¼¸ ¹ø° 0 Àº ÀνºÅϽº ÇÚµéÀ̳ª ´ë°³ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. ¸¶Áö¸· Àμö´Â CALLBACK_WINDOW ´Â Sound ÀåÄ¡¿Í °ü·ÃµÈ ¸Þ½ÃÁö¸¦ ¹Þ´Â ÁÖü°¡ À©µµ¿ìÀÓÀ» ¾Ë·ÁÁÖ´Â °ÍÀÔ´Ï´Ù.(ÇÔ¼ö°¡ µÉ ¼öµµ ÀÖ°í ½º·¹µå°¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù.) if( mmr != MMSYSERR_NOERROR ) return NULL; ÇÔ¼ö¸¦ È£ÃâÇÑ °á°ú°¡ ¿¡·¯°¡ ÀÖÀ» °æ¿ì ÇÔ¼ö¸¦ ºüÁ® ³ª°©´Ï´Ù. mmr = waveOutPrepareHeader(hwo, pwhdr, sizeof(WAVEHDR)); ¼Ò¸®¸¦ ³»±â À§ÇÑ Áغñ¸¦ ÇÕ´Ï´Ù. ÀÌ ÀýÂ÷´Â M$ »ç°¡ Á¤ÇÑ ÀýÂ÷À̹ǷΠ¹«Á¶°Ç µû¶ó¾ß ÇÕ´Ï´Ù. mmr = waveOutWrite(hwo, pwhdr, sizeof(WAVEHDR)); ¼Ò¸®¸¦ ³»±â À§ÇÑ µ¥ÀÌÅ͸¦ Sound ÀåÄ¡¿¡ Àü´ÞÇØ ÁÝ´Ï´Ù. ¼Ò¸®°¡ ³ª±â ½ÃÀÛÇÕ´Ï´Ù. return hwo; Sound ÀåÄ¡ÀÇ ÇÚµéÀ» ÇÔ¼ö¸¦ È£ÃâÇÑ °÷¿¡ µ¹·ÁÁÝ´Ï´Ù. ¼³¸íÀÌ ºÎ½ÇÇÏÁÒ? M$ ȨÆäÀÌÁö³ª µµ¿ò¸»À» ºÁµµ ÀÌ Á¤µµ ¼³¸í ¹Û¿¡ ¾ø½À´Ï´Ù. M$ °¡ Á¤ÇÑ ÀýÂ÷À̹ǷΠ±×´ë·Î µû¶ó ÁÖ¾î¾ß ÇÕ´Ï´Ù. ´Ù¸¥ ¸»·Î´Â ±×´ë·Î ÇØÁֱ⸸ ÇÏ¸é ¼Ò¸®°¡ ³´Ù´Â À̾߱Ⱑ µÇ°ÚÁÒ? 7. ¼Ò¸®³»±â¸¦ Á¾·áÇϱâ À§ÇÑ StopWave ÇÔ¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù. ¢º void StopWave( HWAVEOUT hwo, WAVEHDR* pwhdr ) ¢º { ¢º waveOutUnprepareHeader(hwo, pwhdr, sizeof(WAVEHDR)); ¢º waveOutClose(hwo); ¢º ¢º delete [] pwhdr->lpData; ¢º memset( pwhdr, 0, sizeof(WAVEHDR) ); ¢º } ´ë·« Sound ÀåÄ¡¸¦ Á¾·áÇÏ°í, »ç¿ëÇß´ø ¸Þ¸ð¸®¸¦ Á¤¸®ÇÏ´Â ÀÛ¾÷ÀÔ´Ï´Ù. waveOutUnprepareHeader(hwo, pwhdr, sizeof(WAVEHDR)); ¾Õ¿¡¼ ¼Ò¸®¸¦ ³»±â Àü¿¡ waveOutPrepareHeader ÇÔ¼ö¸¦ È£ÃâÇß¾ú½À´Ï´Ù. ±× ¹Ý´ëÀÇ ÀÛ¾÷À» ÇÏ´Â °ÍÀ¸·Î º¸¸é µË´Ï´Ù. waveOutPrepareHeader ¿Í ½ÖÀ¸·Î »ç¿ëÇÕ´Ï´Ù. waveOutClose(hwo); ÀåÄ¡¸¦ ´Ý½À´Ï´Ù. delete [] pwhdr->lpData; ¼±¾ðÇß´ø ¸Þ¸ð¸®¸¦ Á¤¸®ÇÕ´Ï´Ù. memset( pwhdr, 0, sizeof(WAVEHDR) ); º¯¼ö¸¦ 0 À¸·Î ´Ù½Ã ¼ÂÆÃÇÕ´Ï´Ù. 8. WndProc ÇÔ¼öÀÇ WM_CREATE ¸Þ½ÃÁö ó¸® ºÎºÐ¿¡¼ ¾Æ·¡¿Í °°ÀÌ ¼Ò¸® ÆÄÀÏÀ» ÀÐ°í ¼Ò¸®¸¦ ³»´Â ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ó¸®ÇÕ´Ï´Ù. ¿©±â¼ ´Ù¸¥ ÀåÄ¡³ª Æú´õ¿¡ ¼Ò¸® ÆÄÀÏÀÌ Àְųª ¼Ò¸® ÆÄÀϸíÀÌ ´Ù¸¦ °æ¿ì ÀÌ¿¡ ¸ÂÃç Storage Card2woman.wav¸¦ Àû´çÇÏ°Ô º¯°æÇÏ¿© ÁÖ¾î¾ß ÇÕ´Ï´Ù. case WM_CREATE: ...... ¢º ReadWave( Storage Card2woman.wav, &g_whdr ); ¢º if( g_whdr.lpData != NULL ) ¢º g_hwo = PlayWave( hWnd, &g_whdr ); break; 9. WM_DESTROY ¸Þ½ÃÁö ó¸® ºÎºÐ¿¡¼ À©µµ¿ì°¡ Á¾·áµÇ¸é ¼Ò¸®³»±âµµ Á¾·áÇϵµ·Ï ó¸®ÇÕ´Ï´Ù. case WM_DESTROY: ¢º if( g_whdr.lpData != NULL ) ¢º StopWave( g_hwo, &g_whdr ); CommandBar_Destroy(g_hwndCB); PostQuitMessage(0); break; 10. WM_DESTROY ¸Þ½ÃÁö ó¸® break; ´ÙÀ½¿¡ ¾Æ·¡¿Í °°ÀÌ WOM_DONE ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ºÎºÐÀ» Ãß°¡ÇÏ°í ¿©±â¼ ¼Ò¸®³»±â¸¦ Á¾·áÇϵµ·Ï ó¸®ÇÕ´Ï´Ù. WOM_DONE ¸Þ½ÃÁö´Â ¼Ò¸® ³»±â°¡ ³¡³ª¸é ÀÚµ¿À¸·Î È£ÃâµÇ´Â ¸Þ½ÃÁö·Î À̶§ ÀåÄ¡¸¦ ´Ý°í ¸Þ¸ð¸®¸¦ Á¤¸®ÇÏ¸é µË´Ï´Ù. ¢º case WOM_DONE: // buffer finished playing ¢º StopWave( g_hwo, &g_whdr ); ¢º break; ¾î·Á¿î ¸¸Å ¼³¸íÀÌ Á¦¹ý ±æ¾ú½À´Ï´Ù. ÀÌÁ¦ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é ¹«Èî~ ÇÑ ¾Æ°¡¾¾ÀÇ ¾Æ¸§´Ù¿î ¸ñ¼Ò¸®¸¦ °¨»óÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. |
| ||
| ||
| ||
| ||
| ||
|
|