Microsoft DirectX 8.0 (C++) |
ポートのウェーブ データがストリーム化されるデフォルトの DirectSound オブジェクトまたはバッファ、あるいはその両方を上書きするために使われる。また、DirectSound からポートの接続を解除する際にも使われる。
HRESULT SetDirectSound( LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer );
成功した場合は S_OK または DMUS_S_NOBUFFERCONTROL を返す。「注意」を参照すること。
失敗した場合は、次のいずれかのエラー値を返す。
DMUS_E_ALREADY_ACTIVATED |
E_INVALIDARG |
有効なポインタが pDirectSoundBuffer に渡されると、パンやボリュームなどのバッファ内でのコントロール チェンジが DirectMusic の再生に影響しない場合、このメソッドは DMUS_S_NOBUFFERCONTROL を返す。これは、Windows ドライバ モデル (WDM) ポートだけに影響する。
ポートをアクティブにすると、必要に応じて DirectSound プライマリ バッファがアップグレードされ、このポート (IDirectMusic8::CreatePort に渡される DMUS_PORTPARAMS8 構造体で指定する) のサンプリング レートとチャンネル情報をサポートする。
pDirectSoundBuffer が指すバッファは、このポートのサンプリング レートとチャンネル情報に一致するフォーマットを持つ、セカンダリ ストリーミング バッファでなければならない。このパラメータが NULL の場合、適切な IDirectSoundBuffer インスタンスが内部的に作成される。
ポートをいったんアクティブにしたら、IDirectSound も IDirectSoundBuffer も変更できない。
ヘッダー : dmusicc.h で宣言。