Flv网络播放器制作全攻略
如今,以flash player播放的流媒體flv文件越來越流行(PS:不知道是國內技術太落后,還是其他原因,還算不上常見),我們可以使用Flash當中自帶的PlayBack組件來制作播放器。但是某些時候,PlayBack的Skin并不能滿足我們的需求,比如與網頁頁面風格不相符或者不能很好的集成到我們的Flash站點當中,這時候我們就需要自己動手打造自己的PlayBack了。好在,制作基本功能的flv播放器不是很難/^_^/。下面我們一步一步開始吧。
*****************************第一步*****************************
首先我們打開Flash的元件庫,如圖1-1所示,我們點擊紅色的部分新建一個視頻元件
圖1-1
新建一個圖層并命名為video,將視頻元件從元件庫拖到舞臺中并更改大小為320*240,給舞臺中的視頻元件命名實例名為:myVideo。如圖1-2
圖1-2
新建一個圖層命名為action,選擇第一幀按F9調出動作面板,輸入以下代碼:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var myVideo:Video;
myVideo.attachVideo(ns);
ns.play("http://www.creeper.cn/video/BT玩家.flv");
具體代碼有不清楚的請查看幫助文檔。我們按Ctrl+Enter導出看看,這時候我們應該能正常播放flv影片了。
*****************************第二步*****************************
新建screenshot、controlBar和control三個層,順序如圖1-3
圖1-3
把screenshot放在video層之下,導入screenShot.jpg,并將該元件放到screenshot層上與video的框架正好吻合。
圖screenShot.jpg
選擇層controlBar,用矩形工具繪制一個圓角矩形,將其轉換成元件后,設置Alpha值為50%。如圖1-4
圖1-4
選擇層control,是用文字工具,選擇字體為Webdings,顏色為黑色,按下9打出特殊符號9,再按4打出另外一個特殊符號4,然后按;打出;。分別將這兩個符號轉換為按鈕元件rewind_button、play_button和pause_button,并定位好他們的位置如圖1-5
圖1-5
好,現在我們分別給上述幾個按鈕命名實例名為:rewind_btn、play_btn、pause_btn。選擇action層第一幀輸入一下代碼:
rewind_btn.onRelease = function(){
ns.seek(0);
}
play_btn.onRelease = function(){
ns.pause();
}
pause_btn.onRelease = function(){
ns.pause();
}
好的,我們現在按Ctrl+Enter測試下影片。這里需要說明一下,play_btn和pause_btn函數內的代碼都為ns.pause();,實際上pause()這個方法是實現了視頻流播放和暫停兩個功能,當播放時按下就為暫停,暫停狀態下按下就是繼續播放。
這里是為照顧初學者的理解我才這么做的,追求完美的朋友可以自己做一個按鈕,實現播放符號和暫停符號的切換。
今天就先寫這么多,之后我們繼續制作進度條、播放滑塊等。
*****************************第三步:*****************************
前兩部分我們學會了如何播放,控制視頻等等,現在需要什么呢?既然是flv是流媒體,為了是播放器顯得更人性化,現在還缺少一個Video加載的進度條。還等什么,趕快一起動手吧。
首先,我們在層controlBar新建一個圖層名為:loader,將筆觸顏色設置為黑色,填充設置為白色,用矩形工具繪制一個進度條如圖1-6
圖1-6
然后我們選擇該矩形并按F8將其轉換成一個名為loader的影片剪輯,并且將場景中該元件的實例名也命名為loader,設置Alpha值為60%。雙擊進入該影片剪輯的編輯狀態,選擇中間白色的填充,按F8轉換名為loadBar的影片剪輯,并命名該元件的實例名為loadBar。
然后返回場景,選擇action層的第一幀輸入以下代碼:
var amountLoaded:Number = 0;
loader.loadBar._xscale = amountLoaded;
function videoStatus(){
var videoTotal:Number = ns.bytesTotal;
var videoLoaded:Number = ns.bytesLoaded;
amountLoaded = videoLoaded /videoTotal*100;
loader.loadBar._xscale = amountLoaded;
trace(amountLoaded);
}
var videoInterval = setInterval(videoStatus,100);
好了,按Ctrl+Enter測試影片吧。(
總結
以上是生活随笔為你收集整理的Flv网络播放器制作全攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flash加载flv,本地测试正常,上传
- 下一篇: Flv网络播放器制作全攻略(续)