Platform SDK: DirectX

IDirectMusicPerformance::Stop

IDirectMusicPerformance::Stop メソッドは、1 つまたは複数のセグメントの再生を停止する。

HRESULT Stop(
  IDirectMusicSegment* pSegment, 
  IDirectMusicSegmentState* pSegmentState, 
  MUSIC_TIME mtTime, 
  DWORD dwFlags
);

パラメータ

pSegment
演奏を停止するセグメント。このセグメントに基づくすべてのセグメント状態は、mtTime の時点で停止される。「注意」を参照すること。
pSegmentState
演奏を停止するセグメント状態。「注意」を参照すること。
mtTime
セグメント、セグメント状態、またはその両方を停止するタイム。このタイムが過去のタイムである場合や、値として 0 を指定した場合は、要求したセグメントとセグメント状態の演奏が即座に停止される。
dwFlags
演奏の停止タイムを指定するフラグ。境界は現在のプライマリ セグメントに関連する。次の値のいずれかを使わなければならない。
0
即座に停止する。
DMUS_SEGF_GRID
次のグリッド境界または mtTime の後に停止する。
DMUS_SEGF_MEASURE
次の小節境界または mtTime の後に停止する。
DMUS_SEGF_BEAT
次の拍境界または mtTime の後に停止する。
DMUS_SEGF_DEFAULT
IDirectMusicSegment::SetDefaultResolution メソッドで設定されたデフォルト境界で停止する。

戻り値

成功すれば S_OK を返す。

失敗すれば E_POINTER を返す。

注意

pSegment pSegmentState の両方が NULL である場合、すべての音楽は停止し、現在キューに置かれているすべてのセグメントが解放される。pSegment pSegmentState のどちらかが NULL ではない場合、指定されたセグメント状態がパフォーマンスから削除される。両方共 NULL ではなく、なおかつ DMUS_SEGF_DEFAULT が使われている場合、pSegment から得られたデフォルトの分解能を使う。

すべてのパラメータに NULL または 0 を設定すると、すべての演奏が即座に停止し、コントローラ リセット メッセージおよびノートオフ メッセージが、マップされたすべての P チャンネルに送信される。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicPerformance::PlaySegmentDMUS_SEGF_FLAGS