Flash 影片飛梭的功能

心得筆記 2008/10/20 09:46

有沒有發現
用flash預設的FLV套件(FLVPLAYBACK) 播放影片,裡頭seekBar的功能,再拖曳seekBar的時候,影片畫面會改變為該拖曳到的秒數應撥放的畫面,可是拖曳起來,那個影片飛梭的速度都沒有YOUTUBE那麼快!
以前有人問我過我這個問題,今天忽然心血來潮,加上又有朋友問我飛梭的功能如何實作,我就又試了一下,答案是:不要用FLVPLACKBACK!

NetStream+Video+自己實作seekBar~SEEK就可以這麼快

in flashCS3 as3

AS2應該也是一樣,因為NetStream+Video是8以前的方案

top

Trackback Address :: http://diary.tw/allenliao/trackback/593

Write a comment


flvPlayBack組件安全性問題

Flash常見問題&教材 2008/04/26 10:24
Art喜歡用flvPlayBack組件來播放影片,因為只要簡單的設定連control Bar都有得選,
這個問題是發現在類似下面部署的情況下才會發生:

IamPlayer.swf放在abc.com的主機上
嵌入IamPlayer.swf的頁面IamPage.html放在efg.com的主機上
IamPlayer.swf上有一個flvPlatBack組件設定如下圖
用戶插入圖片

http://efg.com/IamPage.html執行時一開始你會發現這支影片沒有控制Bar
用Fiddler觀察,我們發現原來flvPlayBack組件預設是去頁面的相對路徑找控制Bar.swf(看你選的是哪一種控制Bar,FLASH在編譯時會拷貝一份控制Bar.swf在你編譯好的SWF旁)
於是我們在http://efg.com/補上控制Bar的swf,再執行一次http://efg.com/IamPage.html你應該會發現另ㄧ個問題,影片沒有自動播放,這就是我說的安全性的問題,因為我們跨網域去存取別的網域上的SWF了,解決方式是,讓她們同網域就行了

先給flvPlayBack組件ㄧ個實體名稱myPlayBack
在該flvPlayBack組件的影格上下
STOP():
myPlayBack.skin="http://abc.com/控制Bar.swf";

當然
abc.com 的主機上要記得拷貝一份控制Bar.swf在上面
問題就解決了~
top

Trackback Address :: http://diary.tw/allenliao/trackback/495

Write a comment


FireFox 重LOAD SWF問題

Flash常見問題&教材 2008/04/07 03:15

工作上遇到的問題
狀況:
頁面上嵌了ㄧ個SWF,SWF上寫了個FLVPLAYBACK及ExternalInterface.addCallback用javascript去控制影片的載入、播放、暫停,swf是用swfObject(http://blog.deconcept.com/swfobject/) 嵌入頁面的,頁面上的javascript除了呼叫flash裡的程式之外,還做了切換SWF大小的CSS功能(大螢幕小螢幕),在IE上面所有功能完全沒問題,但是在FireFox,頁面ㄧ開始影片的載入、播放、暫停都OK,按下切換SWF大小的CSS功能的鈕之後,原先載好的影片消失了,整個SWF被重設(回到剛被載好SWF的樣子)

後來仔細檢查換SWF大小的CSS功能的javascript
發現用的是className的切換來改CSS於是改成用STYLE做CSS的切換
變成一下可以一下不行(不穩定)
後來又發現STYLE的CODE裡頭有ㄧ行float 屬性變動的CODE於是先MARK掉(其實整個過程都是用TRY AND ERROR的方式進行的Orz)
把所有有作display =none的CSS都MARK掉
可以了!但版型整個跑掉...
用了ㄧ些取代方式,版型是救回來了
整理ㄧ下被FF影響的元素如下:

同級的 DIV 做 display 屬性變動(display =none)
使用className切換CSS
float 屬性變動

top

Trackback Address :: http://diary.tw/allenliao/trackback/476

Write a comment


sound物件的stop function 會連flvplayBack的聲音 都關掉

心得筆記 2007/08/21 05:36
sound物件的stop() function 會連flvplayBack的聲音 都關掉!!
若你使用sound物件播放音樂,而你執行stop() function沒有指定你要停止的SOUND ID那這個指令會把所有的音樂都關掉,包括flvplayBack組件的聲音,這個情況甚至會發生在不同SWF檔出現在同ㄧ個瀏覽器,也會互相影響,我的猜測是sound物件的stop() function 他關掉的事flash player裡頭目前所有的聲音,為了避免這種情形,使用sound物件的stop() function 記得指定輸入要停止的SOUND ID


在建立 Sound 物件時,一般都寫成 var mySound:Sound = new Sound();,其實建立一個Sound物件可以寫成 new Sound(ID) ,那個 ID 就是你這個 Sound 物件要來控制的 MovieClip 目標名稱。
top

Trackback Address :: http://diary.tw/allenliao/trackback/276

Write a comment