Microsoft DirectX 8.0 (C++)

IDirectMusicPerformance8::PlaySegmentEx

セグメントの再生を開始する。このメソッドは、IDirectMusicPerformance8::PlaySegment よりも高い機能を提供する。

HRESULT PlaySegmentEx(
  IUnknown* pSource,
  WCHAR *pwzSegmentName,
  IUnknown* pTransition,
  DWORD dwFlags,
  __int64 i64StartTime,
  IDirectMusicSegmentState** ppSegmentState,
  IUnknown* pFrom, 
  IUnknown* pAudioPath
);

パラメータ

pSource
再生するオブジェクトの IUnknown インターフェイスのアドレス。
pwzSegmentName
DirectX 8.0 では実装されていない。NULL に設定すること。
pTransition
テンプレート セグメントのトランジションをアレンジする際に使用する、テンプレート セグメントの IUnknown インターフェイス ポインタ。NULL でもよい。「注意」を参照すること。
dwFlags
メソッドの動作を変更するフラグ。「DMUS_SEGF_FLAGS」を参照すること。
i64StartTime
セグメントの演奏を開始するパフォーマンス タイム。dwFlags で指定される任意の境界分解能に調整される。DMUS_SEGF_REFTIME フラグが設定されていない限り、タイムはミュージック タイムで表される。値が 0 の場合、セグメントの演奏はできる限り早く開始される。
ppSegmentState
演奏中セグメントのこのインスタンスを表す、IDirectMusicSegmentState インターフェイス ポインタを受け取る変数のアドレス。IDirectMusicSegmentState8 を取得するには、QueryInterface を使用する。このインターフェイスの参照カウントはインクリメントされる。セグメント状態ポインタを必要としない場合は、このパラメータを NULL にする。
pFrom
新しいセグメントの演奏を開始するときに停止するセグメント状態またはオーディオパスを指す IUnknown インターフェイス ポインタ。オーディオパスを指す場合は、そのオーディオパスで演奏中のすべてのセグメント状態が停止される。この値は NULL でもよい。
pAudioPath
再生に使うオーディオパスを表すオブジェクトの IUnknown インターフェイス ポインタ。デフォルト パスで演奏する場合は、NULL。

戻り値

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

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

DMUS_E_AUDIOPATH_INACTIVE
DMUS_E_AUDIOPATH_NOPORT
DMUS_E_NO_MASTER_CLOCK
DMUS_E_SEGMENT_INIT_FAILED
DMUS_E_TIME_PAST
E_OUTOFMEMORY
E_POINTER

注意

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

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

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

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

dwFlags に DMUS_SEGF_AUTOTRANSITION が指定されているときに、i64StartTime で既に演奏中のセグメントを中断する場合、このメソッドは、2 つのセグメント間のトランジションをアレンジして、それを演奏した後に pSource を演奏する。トランジションは、pTransition で提供されるテンプレートに基づく。

このメソッドを使って、オーディオパスを使用しないパフォーマンス、つまり IDirectMusicPerformance8::Init を使って初期化されたパフォーマンスで演奏できる。この場合、pAudioPath パラメータは NULL でなければならない。

動作環境

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