IDirectSoundBuffer8::Stop
サウンド バッファの再生を停止する。
構文
HRESULT Stop();
パラメータ
なし。
戻り値
成功した場合は DS_OK を返す。
失敗した場合は、次のいずれかのエラー値を返す。
リターン コード |
DSERR_PRIOLEVELNEEDED |
注意
セカンダリ サウンド バッファに対して IDirectSoundBuffer8::Stop を呼び出すと、再生カーソルは、最後に再生されたサンプルの直後のサンプルに設定される。これは、そのバッファに対して次に IDirectSoundBuffer8::Play メソッドを呼び出したときには、以前に再生を停止した場所から再生が再開されることを意味する。
DSSCL_WRITEPRIMARY レベルに設定されたアプリケーションがプライマリ バッファに対してこのメソッドを呼び出すと、バッファは停止し、再生カーソルは 0 (バッファの先頭) にリセットされる。これは、ほとんどのサウンド カードのプライマリ バッファが、バッファの先頭からしか再生できないためである。
一方、DSSCL_WRITEPRIMARY 以外の協調レベルに設定されているアプリケーションが、プライマリ バッファに対して IDirectSoundBuffer8::Stop を呼び出した場合は、このメソッドは IDirectSoundBuffer8::Play と逆のエフェクトをもたらすだけである。セカンダリ バッファが再生されていない場合は、プライマリ バッファを停止するように構成する。そのアプリケーションまたは他のアプリケーションが他のバッファを再生している場合は、それらの再生が停止するまでプライマリ バッファも実際に停止することはない。振幅が 0 dB であっても、バッファがサウンド データを再生している場合は処理のオーバーヘッドが発生するので、このメソッドを使ってプライマリ バッファを停止することには意味がある。
要件
** ヘッダー:**dsound.h で宣言。
参照