読者です 読者をやめる 読者になる 読者になる

【5/5 編集】AudioClip.Create周りメモ

Unity3D

色々試し中なのでメモ

サンプルコード:http://unity3d.com/support/documentation/ScriptReference/AudioClip.Create.html

  • Create時のサンプル数指定はチャンネル数を考慮しなくて良い
    • ただしfloat配列で直接サンプルをいじるような場合のfloat配列のサイズ数は サンプル数*チャンネル数にする
    • 2chの時、float配列の左右ステレオは LRLRLRLRLR... で取り扱う
  • デリゲート(OnAudioReadとか)内で関数呼び出しを行うとstackoverflowすることがある(どれぐらいのが駄目なのかはまだわからない)
  • デリゲート内の処理が重いと音の前に描画に影響が出る(描画フレームレートの低下)
  • 既存のAudioClipを複製するようCreateし、GetDataしてデータ複製して再生する場合、最初20回ぐらい配列の範囲外アクセスで怒られる(GetDataが間に合わないのかバグなのか調査中)
  • Create時にstreamをtrueにしないと一気に取得処理が走るので動的な生成には使えない
  • OnSetPositionデリゲートでちゃんと再生位置を変更するような処理を書いておかないとなんかずれて再生されたりするので注意
    • どうせ再生するだけだからとか行って実装しないでいるとずれる かなしい

色々試してるリポジトリ: https://bitbucket.org/nanmo/audioclip_getdata_bug_sample/