Microsoft DirectX 8.0 (C++)

IDirectMusicSegment8::SetLoopPoints

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

HRESULT SetLoopPoints(
  MUSIC_TIME mtStart,
  MUSIC_TIME mtEnd
);

パラメータ

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

戻り値

成功した場合は S_OK を返す。

失敗した場合は DMUS_E_OUT_OF_RANGE を返す。

注意

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

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

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

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

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

動作環境

  ヘッダー : dmusici.h で宣言。

参照

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