IDirectSound8::CreateSoundBuffer
CreateSoundBuffer メソッドはオーディオ サンプルを管理するサウンド バッファー オブジェクトを作成します。
HRESULT
CreateSoundBuffer(
LPCDSBUFFERDESC pcDSBufferDesc,
LPDIRECTSOUNDBUFFER * ppDSBuffer,
LPUNKNOWN pUnkOuter
);
パラメータ
- pcDSBufferDesc
作成するサウンド バッファーについて記述する DSBUFFERDESC 構造体のアドレスです。 - ppDSBuffer
新しいバッファー オブジェクトの IDirectSoundBuffer インターフェイスを受け取る変数のアドレスです。IDirectSoundBuffer8 を取得するには、QueryInterface を使用してください。IDirectSoundBuffer8 はプライマリ バッファーには使用できません。 - pUnkOuter
COM 集成に対する制御オブジェクトの IUnknown インターフェイスのアドレスです。NULLにしてください。
戻り値
成功した場合は、DS_OK を返します。または、要求された 3D アルゴリズムが使用できず代わりにステレオ パンが使用された場合は、DS_NO_VIRTUALIZATION を返します。DSBUFFERDESC の guid3DAlgorithm メンバーの説明を参照してください。失敗した場合は、以下の表に示すエラー値のいずれかが戻り値となります。
リターン コード |
DSERR_ALLOCATED |
DSERR_BADFORMAT |
DSERR_BUFFERTOOSMALL |
DSERR_CONTROLUNAVAIL |
DSERR_DS8_REQUIRED |
DSERR_INVALIDCALL |
DSERR_INVALIDPARAM |
DSERR_NOAGGREGATION |
DSERR_OUTOFMEMORY |
DSERR_UNINITIALIZED |
DSERR_UNSUPPORTED |
解説
DirectSound はバッファーの内容を初期化しません。また、アプリケーションではバッファーが無音であることを予測できません。
ハードウェアによる高速化を利用できないシステムで、DSBCAPS_LOCHARDWARE フラグを指定してバッファーを作成しようとすると、メソッドは失敗し、オペレーティング システムに応じて DSERR_CONTROLUNAVAIL または DSERR_INVALIDCALL が返されます。
要件
ヘッダー: DSound.h 宣言
ライブラリ: Dsound3d.dll 内容