Microsoft DirectX 8.0 (Visual Basic)

DirectSoundPrimaryBuffer8.SetFormat

バッファのフォーマットを設定する。このアプリケーションに入力フォーカスが置かれるたびに、DirectSound はプライマリ バッファを指定されたフォーマットに設定する。

object.SetFormat(format As WAVEFORMATEX)

指定項目

object
DirectSoundPrimaryBuffer8 オブジェクトを指定する。
format
プライマリ サウンド バッファの新しいフォーマットを指定する WAVEFORMATEX 型。

エラー コード

失敗した場合はエラーが発生し、Err.Number に次のいずれかのエラー値が設定される。

DSERR_BADFORMAT
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
DSERR_PRIOLEVELNEEDED

注意

プライマリ バッファのフォーマットは、セカンダリ バッファを作成する前に設定しておく。

アプリケーションに DSSCL_NORMAL 協調レベルが設定されていると、このメソッドは失敗する。

アプリケーションが DSSCL_WRITEPRIMARY 協調レベルで DirectSound を使用している場合、SetFormat を呼び出す前にバッファを停止しなければならない。フォーマットがサポートされていない場合、メソッドは失敗する。

協調レベルが DSSCL_PRIORITY である場合、DirectSound はプライマリ バッファを停止し、フォーマットを変更して、バッファを再開する。要求されたフォーマットをハードウェアがサポートしていない場合でも、メソッドは成功する。DirectSound は、要求に最も近いフォーマットにバッファを設定する。このような状況が発生しているかどうかを判断するには、アプリケーションはプライマリ バッファに対して DirectSoundPrimaryBuffer8.GetFormat メソッドを呼び出し、その結果を、SetFormat メソッドで要求したフォーマットと比較する。

このメソッドはセカンダリ サウンド バッファでは利用できない。新しいフォーマットが要求された場合、アプリケーションは新しい DirectSoundBuffer オブジェクトを作成しなければならない。

参照

バッファ フォーマットのマッチング