Dec14th

XACT のバックアップ(No.8)

Top / XACT


プログラムから呼び出し

  • Sound Bankからキュー名を読み込む
    • キューに積み込んだ曲名はユーザが知っている前提だが、デバッグ用ウィンドウに出力するなどのために一応
  • キューの名前をインデックスに変換した後に再生する
    • 音の停止はインデックスで行うので、同じ音でN番目に鳴らしたものを止めるようなことはできない
  • WaveBankはサイズの大きいファイルなので、シーンごとにロードするなどの工夫が必要
  • WaveBank読み込み時に、メモリに展開かストリーミングかを分ける必要がある
    • Xact.exeで設定する項目がある
    • 読み込みに使う関数が異なる
  • WaveBank、SoundBankを複数個持てるような設計にする必要有り

Xact.exeでのオーサリング

  • ビルド後のファイルにwavの波形情報が含まれるため、プログラムから呼ぶ場合はwavファイルが参照できなくても大丈夫
  • プロジェクトメニューのCompression Presetsで圧縮設定
    WaveBankのCompression Presetからwavごとに圧縮設定
  • Cueのファイルを選択後、左下のウィンドウのLimit Instancesをチェック入れておくと同時再生を制限できる
  • Sound BankにはWave Bankからドラッグ&ドロップで登録
    ウィンドウ左下のCueにも登録する
  • wavファイルの登録はドラッグ&ドロップで行う
  • Xact.exeから音の再生をする場合、AudConsole.exeを立ち上げておく必要がある
    サーバの様な機能を持っている模様
  • SoundBanks
    曲の再生順やループの設定等をする場所
    WaveBanksからwavを取り出した後、編集する
    Sound Bankウィンドウの左下の名前がプログラムから呼び出す時に使う名前になる
  • WaveBanks
    元となるWavファイルを登録する場所
    ファイルパスの管理を行う

メモ

  • 1シーンに1プロジェクトファイルを対応させるのが良いのか、全体を1つのプロジェクトで管理するのが良いのか
  • SoundBankファイルからキューの名前を取り出したい
  • Xact.exeでファイルを作った後、XACTAPIでファイルを読み込んで再生
  • xgs
    プロジェクトファイル
    プログラムは最初にこれを読み込む
  • xwb
    Wave Bankの情報を格納したファイル
    ここにwavファイルの中身も入る模様
  • xsb
    Sound Bankの情報を格納したファイル
  • xap
    XACTのプロジェクトファイル。これは読み込まない
    wavファイルをこれと同じディレクトリに入れる
  • DirectXSDKインストール時にXACTとAudConsoleへのパスが通されているので、スタートメニューの検索から呼び出せる


未着手

  • 曲のループポイントの制御
  • プログラム側からの音のパラメータ制御


リンク