Platform SDK: DirectX |
ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「DirectSound Visual Basic チュートリアル」を参照すること。
このチュートリアルでは、以下の定義とグローバル宣言を必要とする。
#define NUMCAPTUREEVENTS 2 LPDIRECTSOUNDCAPTURE lpdsc; LPDIRECTSOUNDCAPTUREBUFFER lpdscb; LPDIRECTSOUNDNOTIFY lpdsNotify; DSCBUFFERDESC dscbDesc; HANDLE rghEvent[NUMCAPTUREEVENTS]; DSBPOSITIONNOTIFY rgdscbpn[NUMCAPTUREEVENTS]; WAVEFORMATEX wfx = {WAVE_FORMAT_PCM, 1, 22050, 44100, 2, 16, 0}; HMMIO hmmio; MMCKINFO mmckinfoData, mmckinfoParent; MMIOINFO mmioinfo; DWORD dwTotalBytesWritten;
DirectSoundCapture を使うために、DirectSound オブジェクトを作成する必要はない。しかし、アプリケーションがサウンドの録音に加えて再生を行う場合は、最初に DirectSound を作成すべきである。
このチュートリアルでは、キャプチャ システムのすべての初期化は、パラメータをとらない関数 InitDSoundCapture の中で実施される。最初のステップは、DirectSoundCapture オブジェクトを作成することである。DirectSoundCaptureCreate 関数の最初のパラメータとして NULL を渡すことにより、このオブジェクトにデフォルトのキャプチャ デバイスを関連付ける。
BOOL InitDSoundCapture(void) { if FAILED(DirectSoundCaptureCreate(NULL, &lpdsc, NULL)) return FALSE;