星期五, 5月 01, 2009

AS2:FLV影片播放器不能自動重播

當你在Flash裡把載入flv影片的參數設成自動重播(autoRewind=true)後,理論上這支影片就會自動重播了。不過,有趣的是,理論常常會和現實衝突!因為昨天我就遇到了不會自動重播的情形…明明已經在flash的播放器上指定了正確的flv影片路徑,而且也將autoRewind設為true,但影片就是不會自動重播!?還好Kirupa的一篇「loop "flv" files」提供了一個非常簡單的解決辦法,直接將底下的actionscript程式碼加在flv影片的播放器上就行了:
on (complete){
this.autoRewind=true;
this.play();
}
基本上,上面的語法只是告訴flash說:「當影片(this)載入完畢(complete)後,記得要自動重播(autoRewind=true),然後就開始播放影片(play)。」

不過這樣的做法仍然是有前提的,例如使用ActionScript 3.0語法的Flash就行不通(因為ActionScript3.0不能把語法下在物件上,不論是Movie Clip、按鈕皆不可行),但仍可給之前的版本做參考與應用。

6 則留言:

Unknown 提到...

搞一整晚,看了你的文章,10 秒搞定!感謝!

perr 提到...

不客氣 :D

匿名 提到...

正好受用吶,感謝^^

匿名 提到...

想請教..
swf裡面的flv,能夠讓它一開始就先停格嗎?
(是要在flash裡面下動作指令嗎?)
還有,上傳網路前flv可以看到,上傳伺服器後,flv就看不到了,是什ㄇ原因呀?

謝謝你^^

perr 提到...

Flash的組件檢視器(Component Inspector)原本就有提供自動播放(auto play)功能,預設值是true,改成false就不會自動播放了。
看不到flv有很多的可能性,你要檢查flv的對應路徑以及檔案是否正確;或許你忘了把flv上傳到遠端也說不定…

匿名 提到...

感謝