IXACT3Engine::PrepareInMemoryWave

既にメモリーにあるデータからメモリー内 IXACT3Wave オブジェクトを作成します。

[Code-driven]

HRESULT 
PrepareInMemoryWave(
  DWORD dwFlags,
  WAVEBANKENTRY entry,
  DWORD *pdwSeekTable,
  BYTE *pbWaveData,
  DWORD dwPlayOffset,
  XACTLOOPCOUNT nLoopCount,
  IXACT3Wave **ppWave
);

パラメータ

  • dwFlags
    Wave の準備に影響を与えるフラグ :
  • entry
    Wave の形式、再生領域、およびループ領域を記述する WAVEBANKENTRY 構造体です。再生領域の長さをバッファーのサイズ (バイト単位) に設定します。
  • pdwSeekTable
    シーク テーブルへのポインターです。このテーブルの最初の DWORD は、シーク テーブル内のエントリの数を表す必要があります。
  • pbWaveData
    Wave データへのポインターです。Wave データのサイズは、渡される WAVEBANKENTRY 構造体に記述されている再生領域の長さにより決定されます。
  • dwPlayOffset
    Wave の先頭として使用される再生オフセットです。このオフセットは、ミリ秒またはサンプル数で表されます。dwFlags 引数により、オフセットの単位が決定されます。
  • nLoopCount
    Wave のループ カウントです。
  • ppWave
    返される IXACT3Wave オブジェクトへのポインター

戻り値

成功した場合、S_OK を返します。それ以外の場合は、エラー コードを返します。

解説 

アプリケーションでは、渡されるバッファー (データ、シーク テーブル) がこの Wave の有効期間にわたって有効であることを確認する必要があります。

Xbox 360:  この API を使用して XMA コンテンツを準備する場合、64K をブロック サイズとしてコンテンツをエンコードする必要があります。XMAEncode を使用するときにコマンド ラインで "/b 64" を指定して 64K ブロックを作成してください。

要件

ヘッダー: Xact3.h 宣言

ライブラリ: Xact3.lib 内容

関連項目

IXACT3Engine