次の方法で共有


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 で宣言。

参照