DirectSound DirectSound C/C++ ·¹ÆÛ·±½º DirectSound ÀÇ ±¸Á¶Ã¼ WAVEFORMATEX   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
WAVEFORMATEX
 
Microsoft DirectX 9.0

WAVEFORMATEX

WAVEFORMATEX ±¸Á¶Ã¼´Â, ¿þÀÌºê Æû ¿Àµð¿À µ¥ÀÌÅÍÀÇ Æ÷¸ËÀ» Á¤ÀÇÇÑ´Ù. ÀÌ ±¸Á¶Ã¼¿¡´Â, ¸ðµç ¿þÀÌºê Æû ¿Àµð¿À µ¥ÀÌÅÍ Çü½Ä¿¡ °øÅëÀÇ Æ÷¸Ë Á¤º¸¸¸ÀÌ Æ÷ÇԵȴÙ. Ãß°¡ Á¤º¸°¡ ÇÊ¿äÇÑ Æ÷¸Ë¿¡¼­´Â, ÀÌ ±¸Á¶Ã¼°¡ ÃÖÃÊÀÇ ¸â¹ö·Î¼­ ´Ù¸¥ Á¤º¸¿Í ÇÔ²² ´Ù¸¥ ±¸Á¶Ã¼¿¡ Æ÷ÇԵȴÙ.

ÀÌ ±¸Á¶Ã¼´Â Platform SDK ÀÇ ÀϺÎÀ̸ç, Dsound.h ¿¡¼­´Â ¼±¾ðµÇÁö ¾Ê´Ù. ÆíÀÇ»ó ¿©±â¼­ ¼³¸íÇϰí ÀÖ´Ù.

±¸¹®

typedef struct { 
  WORD  wFormatTag; 
  WORD  nChannels; 
  DWORD nSamplesPerSec; 
  DWORD nAvgBytesPerSec; 
  WORD  nBlockAlign; 
  WORD  wBitsPerSample; 
  WORD  cbSize; 
} WAVEFORMATEX; 

¸â¹ö

wFormatTag

¿þÀÌºê Æû ¿Àµð¿À Æ÷¸ËÀÇ Å¸ÀÔ. ¸¹Àº ¾ÐÃà ¾Ë°í¸®ÁòÀÇ Æ÷¸Ë űװ¡, Microsoft ·Î µî·ÏµÇ¾î ÀÖ´Ù. Æ÷¸Ë ű×ÀÇ ¿ÏÀüÇÑ ¸®½ºÆ®´Â, Çì´õ ÆÄÀÏ Mmreg.h ¿¡ ±â¼úµÇ°í ÀÖ´Ù. 1 ä³Î ¶Ç´Â 2 ä³ÎÀÇ PCM µ¥ÀÌÅÍÀÇ °æ¿ì, ÀÌ °ªÀº WAVE_FORMAT_PCM °¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù.

nChannels

¿þÀÌºê Æû ¿Àµð¿À µ¥ÀÌÅÍÀÇ Ã¤³Î¼ö. ´ÜûÀÇ µ¥ÀÌÅÍ´Â 1 °³ÀÇ Ã¤³ÎÀ» »ç¿ëÇØ, ½ºÅ×·¹¿À µ¥ÀÌÅÍ´Â 2 °³ÀÇ Ã¤³ÎÀ» »ç¿ëÇÑ´Ù.

nSamplesPerSec

»ùÇøµ ·¹ÀÌÆ®. 1 ÃÊ ÂëÀÇ »ùÇüö (Hz)·Î ³ªÅ¸³½´Ù. wFormatTag °¡ WAVE_FORMAT_PCM ÀÇ °æ¿ì,nSamplesPerSec ÀÇ ÀϹÝÀûÀÎ °ªÀº 8.0 kHz, 11.025 kHz, 22.05 kHz, 44.1 kHz ÀÌ´Ù. PCM Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì´Â, ¸ÞÀÌÄ¿ÀÇ Æ÷¸Ë ű×ÀÇ »ç¾ç¿¡ µû¶ó ÀÌ ¸â¹ö¸¦ °è»êÇÒ Çʿ䰡 ÀÖ´Ù.

nAvgBytesPerSec

Æ÷¸Ë ű׷ΠÇÊ¿äÇÑ Æò±Õ µ¥ÀÌÅÍ Àü¼Û ¼Óµµ. ´ÜÀ§´Â, 1 ÃÊ ÂëÀÇ ¹ÙÀÌÆ®¼ö. wFormatTag °¡ WAVE_FORMAT_PCM ÀÎ °æ¿ì,nAvgBytesPerSec ´Â nSamplesPerSec ¿Í nBlockAlign ÀÇ Àû¿¡ µ¿ÀÏÇØ¾ß ÇÑ´Ù. PCM Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì´Â, ¸ÞÀÌÄ¿ÀÇ Æ÷¸Ë ű×ÀÇ »ç¾ç¿¡ µû¶ó ÀÌ ¸â¹ö¸¦ °è»êÇÒ Çʿ䰡 ÀÖ´Ù.

nBlockAlign

ºê·ÏÅ©¾Æ¶óÀÌ¸ÕÆ® (¹ÙÀÌÆ® ´ÜÀ§). ºê·ÏÅ©¾Æ¶óÀÌ¸ÕÆ®´Â,wFormatTag Æ÷¸Ë ŸÀÔÀÇ µ¥ÀÌÅÍÀÇ ÃÖ¼Ò´ÜÀ§ÀÌ´Ù. wFormatTag °¡ WAVE_FORMAT_PCM ¶Ç´Â WAVE_FORMAT_EXTENSIBLE ÀÎ °æ¿ì,nBlockAlign ´Â nChannels ¿Í wBitsPerSample ÀÇ ÀûÀ» 8 À¸·Î ³ª´« °ª (¹ÙÀÌÆ® ±ÙóÀÇ ºñÆ®¼ö)¿¡ µ¿ÀÏÇØ¾ß ÇÑ´Ù. PCM Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì´Â, ¸ÞÀÌÄ¿ÀÇ Æ÷¸Ë ű×ÀÇ »ç¾ç¿¡ µû¶ó ÀÌ ¸â¹ö¸¦ °è»êÇÒ Çʿ䰡 ÀÖ´Ù.

¼ÒÇÁÆ®¿þ¾î´Â, µ¥ÀÌÅÍÀÇ º¹¼öÀÇ nBlockAlign ¹ÙÀÌÆ®¸¦, ÇÑ ¹ø¿¡ ó¸®ÇØ¾ß ÇÑ´Ù. ÀåÄ¡¿¡ ±âÀÔÇÏ´Â µ¥ÀÌÅÍ, ÀåÄ¡·ÎºÎÅÍ ÀоîµéÀÌ´Â µ¥ÀÌÅÍ´Â, Ç×»ó ºí·ÏÀÇ ¼±µÎ·ÎºÎÅÍ ½ÃÀÛ ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, PCM µ¥ÀÌÅÍÀÇ Àç»ýÀ», »ùÇÃÀÇ Áß°£ (Áï, ºñºê·ÏÅ©¾Æ¶óÀÌ¸ÕÆ®ÀÇ °æ°è)À¸·Î ½ÃÀÛ ÇÏ´Â °ÍÀº ºÎÁ¤ÇÏ´Ù.

wBitsPerSample

wFormatTag Æ÷¸Ë ŸÀÔÀÇ, »ùÇøµ ±ÙóÀÇ ºñÆ®¼ö. wFormatTag °¡ WAVE_FORMAT_PCM ÀÎ °æ¿ì,wBitsPerSample ´Â 8 ¶Ç´Â 16 ÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù. PCM Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì´Â, ¸ÞÀÌÄ¿ÀÇ Æ÷¸Ë ű×ÀÇ »ç¾ç¿¡ µû¶ó ÀÌ ¸â¹ö¸¦ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. wFormatTag °¡ WAVE_FORMAT_EXTENSIBLE ÀÎ °æ¿ì´Â, ÀÓÀÇÀÇ 8 ÀÇ ¹è¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¾ÐÃà ½ºÅ´ÀÌ wBitsPerSample ÀÇ °ªÀ» Á¤ÀÇÇÒ ¼ö ¾ø´Â °Íµµ ÀÖÀ¸¹Ç·Î, ÀÌ ¸â¹ö´Â 0 ÀÌ µÈ´Ù.

cbSize

WAVEFORMATEX ±¸Á¶Ã¼ÀÇ µÚ·Î Ãß°¡µÇ´Â Æ÷¸Ë Á¤º¸ÀÇ »çÀÌÁî (¹ÙÀÌÆ® ´ÜÀ§). ÀÌ Á¤º¸¸¦ ºñ PCM Æ÷¸ËÀ¸·Î »ç¿ëÇØ,wFormatTag ÀÇ Ãß°¡ ¼Ó¼ºÀ» ÀúÀå ÇÒ ¼ö°¡ ÀÖ´Ù. wFormatTag ·Î ÇÊ¿äÇÑ Ãß°¡ Á¤º¸°¡ ¾ø´Â °æ¿ì, ÀÌ ¸â¹ö´Â 0 À¸·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. WAVE_FORMAT_PCM Æ÷¸Ë¿¡¼­´Â (±×¸®°í WAVE_FORMAT_PCM Æ÷¸ËÀÇ °æ¿ì¿¡ ÇÑÁ¤ÇØ), ÀÌ ¸â¹ö´Â ¹«½ÃµÈ´Ù.

¿ä°Ç

  Çì´õ:mmreg.h ·Î ¼±¾ð.

ÂüÁ¶

¡èTOP