IDirectMusicPerformance

IDirectMusicPerformance8::PlaySegmentEx

DirectMusic セグメントオブジェクトの再生を開始します。

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

メソッドのインデックス: 45

パラメータ

pSource

再生されるオブジェクトの IUnknown インターフェースポインタを指定します。

pwzSegmentName

DirectX 8.0 では実装されていません。 0 (NULL) を指定しなければなりません。

pTransition

テンプレートセグメントのトランジションをアレンジする際に使用する、テンプレートセグメントの IUnknown インターフェイスポインタを指定します。 必要ない場合は 0 (NULL) を指定します。

dwFlags

メソッドの動作を指定するフラグを指定します。DMUS_SEGF_FLAGS 列挙型の定数の組み合わせで指定します。

i64StartTime

セグメントの演奏を開始するパフォーマンスタイムを64ビット値で指定します。dwFlags で指定される境界分解能に調整されます。DMUS_SEGF_REFTIME フラグが設定されていない限り、タイムはミュージックタイムで指定されます。値が 0 の場合、セグメントの演奏はできる限り早く開始されます。

ppSegmentState

演奏中のセグメントのインスタンスに関するセグメント状態を取得するための IDirectMusicSegmentState インターフェースポインタを受け取る変数のアドレスを指定します。有効なアドレスが指定された場合、セグメント状態インターフェースポインタが返され、このインターフェースの参照カウントがインクリメントされます。

セグメント状態インターフェースが必要ない場合は、このパラメータに 0 (NULL) を指定します。

pFrom

新しいセグメントの演奏を開始するときに停止するセグメント状態またはオーディオパスを指す IUnknown インターフェイスポインタを指定します。オーディオパスを指す場合は、そのオーディオパスで演奏中のすべてのセグメント状態が停止されます。このパラメータに 0 (NULL) を指定することもできます。

pAudioPath

再生に使うオーディオパスを表すオブジェクトの IUnknown インターフェイスポインタを指定します。 0 (NULL) を指定すると、デフォルトオーディオパスで演奏されます。

戻り値

成功すると 0x00000000 (S_OK) が返ります。

以前に設定されていた検索パスと同じパスを指定した場合は、0x00000001 (S_FALSE) が返ります。

失敗すると以下のいずれかのエラー値が返ります。

意味
0x80004003 (E_POINTER)

無効なポインタが渡されました。

0x8007000E (E_OUTOFMEMORY)

メモリ不足のため完了できませんでした。

0x88781165 (DMUS_E_TIME_PAST)

要求されたタイムは過去のタイムです。

0x88781170 (DMUS_E_NO_MASTER_CLOCK)

パフォーマンス内にマスタクロックが存在しません。 IDirectMusicPerformance8::Init メソッドが呼び出されていません。

0x88781203 (DMUS_E_SEGMENT_INIT_FAILED)

セグメントの初期化に失敗しました。メモリで重大な問題が発生したと考えられます。

0x88781229 (DMUS_E_AUDIOPATH_INACTIVE)

オーディオパスが非アクティブです。パフォーマンスが終了していることが原因と考えられます。

0x8878122B (DMUS_E_AUDIOPATH_NOPORT)

ポート割り当てがないため、再生にオーディオパスを使用できません。