Platform SDK: DirectX

IDirectMusicTrack::InitPlay

IDirectMusicTrack::InitPlay メソッドは、トラックが演奏を開始する準備ができたときに呼び出される。状態データへのポインタを返すが、このポインタは IDirectMusicTrack::PlayIDirectMusicTrack::EndPlay に渡される。

HRESULT InitPlay(
  IDirectMusicSegmentState* pSegmentState,
  IDirectMusicPerformance* pPerformance,
  void** ppStateData,
  DWORD dwVirtualTrackID,
  DWORD dwFlags
);

パラメータ

pSegmentState
呼び出し中の IDirectMusicSegmentState インターフェイスのアドレス。
pPerformance
呼び出し中の IDirectMusicPerformance インターフェイスのアドレス。
ppStateData
状態情報へのポインタを受け取るための変数のアドレス。データのフォーマットと使用方法は、トラックに固有である。データは InitPlay メソッドで作成し、IDirectMusicTrack::EndPlay メソッドで解放しなければならない。ポインタは IDirectMusicTrack::Play メソッドに渡される。
dwVirtualTrackID
このトラックインスタンスに割り当てられた仮想トラック ID。
dwFlags
トラックの動作を制御する DMUS_SEGF_FLAGS。「注意」を参照すること。

戻り値

成功すれば S_OK を返す。

失敗すれば次のエラー値のいずれかを返す。

DMUS_E_NOT_INIT
E_OUTOFMEMORY
E_POINTER

注意

トラックは pSegmentStatepPerformance、および dwTrackID の各パラメータを保存する必要がある。これらは IDirectMusicTrack::Play にも渡されるためである。

dwFlags パラメータは、IDirectMusicPerformance::PlaySegment の呼び出しでパフォーマンスに渡されたフラグを渡す。トラックは、DMUS_SEGF_CONTROL と DMUS_SEGF_SECONDARY の各フラグに基づいて、その実行方法を決定する。たとえば、テンポ トラックは、それ自体がプライマリ セグメントまたはセカンダリ制御セグメント のパートである場合に限り、テンポの変更を自動的に演奏する (DMUS_SEGF_SECONDARY が設定されていない、または DMUS_SEGF_CONTROL がセットされている)。

トラックは ppStateData で NULL を返す場合がある。

動作環境

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