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