Platform SDK: DirectX

IDirectMusicSegment::SetLoopPoints

IDirectMusicSegment::SetLoopPoints メソッドは、反復するセグメントのパートの開始ポイントと終了ポイントを設定する。セグメントのパートは、IDirectMusicSegment::SetRepeats メソッドによって設定される回数だけ反復する。

HRESULT SetLoopPoints(
  MUSIC_TIME mtStart,
  MUSIC_TIME mtEnd
);

パラメータ

mtStart
ループの開始ポイント。
mtEnd
ループの終了ポイント。値 0 は、セグメント全体をループさせることを意味する。

戻り値

成功すれば S_OK を返す。

失敗すれば DMUS_E_OUT_OF_RANGE を返す。

注意

セグメントの演奏時には、開始タイムから mtEnd まで演奏し、mtStart にループする。次に、ループ部分を IDirectMusicSegment::SetRepeats によって設定される回数だけ反復し、最後まで演奏する。

デフォルト値は、最初から最後までセグメント全体をループさせるように設定されている。

mtStart の値がセグメントの長さ以上の場合、または mtEnd の値がセグメントの長さを超える場合、メソッドは失敗する。mtEnd が 0 の場合、mtStart も 0 でなければならない。

このメソッドは、このセグメントから作成された、現在演奏中のセグメント状態に影響を及ぼすことはない。

キャッシングされたセグメントのループ ポイントは、セグメントが解放され、再ロードされた場合でも継続される。セグメントが後でキャッシュから再ロードされないようにするために、セグメントを解放する前に、IDirectMusicLoader::ReleaseObject を呼び出す。

動作環境

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

参照

IDirectMusicSegment::GetLoopPointsセグメントのタイミング