AS3でwavをループ再生(要POPFORGE)
前回に引き続いてPOPFORGEを使ってwavファイルのループ再生してみた。
http://memo.kappa-lab.com/samples/sirenAStream_REF.html
*ご注意:いきなり音が鳴ります
例によってFlashCS3を使えば何の造作も無い事だけど、今後のサウンドエフェクトの可能性を切り開くためにもPOPFORGEのbufferクラスを使って再生。何故かAudioBufferクラスに音源データを渡すとき、そのままではなく一つおきにデータを渡す。結果的にデータが圧縮されていることなって音質が下がって居るんじゃ無いかと思うが、詳しい解析をしたわけではないのでよく分からない。訳は神のみぞ知るってところかな。
フローは以下の形。
1.バイナリーとしてwavを読み込んだSirenクラスからサンプリング配列を取得
2.AudioBufferインスタンスを生成してサンプリング配列を参照
3.AudioBufferサンプリング配列にSirenクラスのサンプリング配列を渡す
4.3の時に配列の終端で折り返す
5.再生
と言う感じ。前回は一つしかクラスが無かったけど、今回は音源データを別クラス(Sirenクラス)にしてある。ついでに波形をモニタリングするクラスもくっついているのでややウザイコードになったかもしれない。
サンプルコード
http://memo.kappa-lab.com/samples/SirenASound_REF.zip