2008/01/22
computeSpectrumの留意点
SoundMixer.computeSpectrumは、音声の波形やスペクトルが簡単に取得できるとても便利で楽しいメソッドですが、使う際には注意が必要かもしれないです。
簡単なサンプルです。音声ファイルを再生し、毎フレームcomputeSpectrumを行っています。その結果を線で繋いでなんとなく視覚化しています。
これを再生しながら同時に別ウィンドウで異なるドメインにおかれた音声が入ったSWFを再生すると、セキュリティエラーなるものが発生してしてしまうのです。試しに上記サンプルを再生しながら、YouTubeなどでムービーを再生してみてください。おそらくサンプルは止まってしまうでしょう。
どうやらFlashPlayerで再生されている音声はまとめてcomputeSpectrumされてしまうようです。ですから、computeSpectrumをしている最中に外部ドメインにおかれている音声を再生してしまうと、それも処理されることになりセキュリティーエラーが発生するようです。
回避策が見つからなかったので、私はtry/catch文でcatch内に代替処理を書き誤魔化しました。回避策を知ってい方がいましたらご一報ください。
確認したPlayerのバージョンは9.0.115.0です。
コメント一覧