AS3 computeSpectrum を使用していくつかの曲のビデオ アニメーションを作成する 5 つの Flash アニメーションがあります。
Chrome、Firefox、Opera、Safari で問題なくテストされています。IE7 と IE8 で問題なくテストされています。IE9 でテストしたところ、Flash Player は開きますが、音楽は再生されず、アニメーションも開始しません。これは IE9 でのみ発生します。
ウェブページはこちら: http://seanmurphy.co.cc/index4.html
アニメーションは音楽タブ (下部タブ、メイン画面) の下にあります。
一体何が起こっているのかについて誰かが線を持っていますか? Flashプレーヤーが最新であることを確認しました(私が言ったように、実際にIE9をアンインストールし、IE8に戻し、正常に動作しました)。リンクされた mp3 ファイルがルート フォルダーと添付されたオーディオ フォルダーの両方にあることを確認しました (念のため)。私はこれを徹底的に調査しましたが、誰もこの同じ問題を抱えているようには見えません。
以下の Flash AS3 コード:
var url:String = "SubwayGirl.mp3";
var request:URLRequest = new URLRequest(url);
import flash.filters.*;
import fl.motion.Color;
var myBlur:BlurFilter = new BlurFilter();
myBlur.quality = 10;
myBlur.blurX = 0;
myBlur.blurY = 6;
var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, completeHandler);
s.load(request);
var song:SoundChannel = s.play();
song.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
var ba:ByteArray = new ByteArray();
var gr:Sprite = new Sprite();
gr.x = 150;
gr.y = 575;
addChild(gr);
var time:Timer = new Timer(.0001);
time.addEventListener(TimerEvent.TIMER, timerHandler);
time.start();
function completeHandler(event:Event):void {
//event.target.play();
};
function randomNumber(low:Number=0, high:Number=1):Number
{
return Math.floor(Math.random() * (1+high-low)) + low;
}
function soundCompleteHandler(event:Event):void {
time.stop();
};
function timerHandler(event:TimerEvent):void {
SoundMixer.computeSpectrum(ba, true);
var i:int;
gr.graphics.clear();
gr.graphics.lineStyle(1, 0xffffff);
myBlur.blurX = randomNumber(1, 5);
myBlur.blurY = randomNumber(1, 25);
myBlur.quality = randomNumber(1, 100);
gr.filters = [myBlur];
gr.graphics.beginFill(0xffffff);
gr.graphics.moveTo(10, 5);
var w:uint = 20;
for (i=0; i<500; i+=w) {
var t:Number = ba.readFloat();
var n:Number = (t * 100);
gr.graphics.drawCircle(w, -i, -n);
var yy = i * (t+210);
var place = yy.toString(16).toUpperCase();
while(place.length < 6) {
place = place+"0";
}
place = "0x" + place;
var myColor:ColorTransform = gr.transform.colorTransform;
myColor.color = 0xC941D0;
gr.transform.colorTransform = myColor;
};
};
これについてヒントがある人はいますか?私は解決策なしでこれを調査するのに何時間も費やしました。
さらに必要な情報は、できるだけ早く提供されます。ありがとう。
編集: わかりました、ここにスクープがあります: IE9 で seanmurphy.co.cc/soundTest1.html で再生されている Flash アニメーションがあります。つまり、ブラウザのキャッシュが空で、ページを 1 回読み込むと再生されます。ページをリロードするか、別のページにアクセスした後にそのページに戻った場合、キャッシュを再度空にするまで、アニメーションと音楽は再生されません。
また、Flash オブジェクトと埋め込みコードを seanmurphy.co.cc/index6.html の一時インデックス ファイルにコピーしましたが、ブラウザのキャッシュを空にしても再生されません。
あなたが思うかもしれませんが、これは私を極度の狂気に駆り立てています! IEがここで引っ張っているばかげたがらくたについて、誰かが説明を持っていますか? 私は本当にこのことを寝かせたいです。ありがとう!