Microsoft DirectX 8.0 (C++) |
セグメントの再生を開始する。このメソッドは、IDirectMusicPerformance8::PlaySegment よりも高い機能を提供する。
HRESULT PlaySegmentEx( IUnknown* pSource, WCHAR *pwzSegmentName, IUnknown* pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState, IUnknown* pFrom, IUnknown* pAudioPath );
成功した場合は 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 で宣言。