Microsoft DirectX 8.0 (C++)

IDirectMusicPerformance8::PlaySegment

セグメントの再生を開始する。

HRESULT PlaySegment(
  IDirectMusicSegment* pSegment,
  DWORD dwFlags,
  __int64 i64StartTime,
  IDirectMusicSegmentState** ppSegmentState
);

パラメータ

pSegment
演奏されるセグメント。
dwFlags
メソッドの動作を変更するフラグ。「DMUS_SEGF_FLAGS」を参照すること。
i64StartTime
セグメントの演奏を開始するパフォーマンス タイム。dwFlags で指定される任意の境界分解能に調整される。DMUS_SEGF_REFTIME フラグが設定されていない限り、タイムはミュージック タイムで表される。値が 0 の場合、セグメントの演奏はできる限り早く開始される。
ppSegmentState
演奏中のセグメントのインスタンスに関するセグメント状態へのポインタを受け取る変数のアドレス。このフィールドは NULL でもよい。NULL ではない場合、セグメント状態ポインタが返され、アプリケーションはこのポインタに対して Release を呼び出さなければならない。

戻り値

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

失敗した場合は、次のいずれかのエラー値を返す。

E_OUTOFMEMORY
E_POINTER
DMUS_E_NO_MASTER_CLOCK
DMUS_E_SEGMENT_INIT_FAILED
DMUS_E_TIME_PAST

注意

セグメントの長さは 250 ミリ秒 (ms) を超えている必要がある。

dwFlags の境界分解能は、プライマリ セグメントに関連するものである。

プライマリ セグメントの演奏が、別のプライマリ セグメントの演奏中にスケジュール設定されている場合、後に演奏されるセグメントに DMUS_SEGF_QUEUE フラグを設定しない限り、最初のセグメントは停止する。後に演奏されるセグメントに DMUS_SEGF_QUEUE フラグを設定した場合、そのセグメントは、最初のセグメントの演奏が終わると同時に演奏が開始される。

セグメントの正確な開始タイムの詳細については、「セグメントのタイミング」を参照すること。テンポの変更がセグメントの開始タイムに及ぼす影響については、「クロック タイムとミュージック タイム」を参照すること。

動作環境

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

参照

IDirectMusicPerformance8::PlaySegmentEx