Platform SDK: DirectX

IDirectMusicPerformance::PlaySegment

IDirectMusicPerformance::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 フラグをセットした場合、そのセグメントは、最初のセグメントの演奏が終わると同時に演奏が開始される。

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

動作環境

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

参照

セグメント