SampleDataEventの最終形?!
Flash Player 10 の(ベータ)バージョンが変わるたびに実装が変更されていた「SampleDataEvent」ですが、CS4発売が間近なこともあってこれで最終形のようです。
■ サイン波生成サンプルコード
var mySound:Sound = new Sound();
function sineWaveGenerator(event:SampleDataEvent):void {
for ( var c:int=0; c < 8192; c++ ) {
event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
}
}
mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator);
mySound.play();
Flash Player 10 beta 2 以降は、「Event.SAMPLE_DATA」を使うことになっていましたが実際は動作しなかったので以下のように文字列"sampleData"を渡すことで使用できてました。
mySound.addEventListener("sampleData",sineWaveGenerator);
もしかして、(発表されなかっただけで)その時点ですでにイベントの実装が変更されていたのかもしれませんが・・・
とりあえずは、やっとすっきりしたと言うところでしょうか・・・