隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          制作一個全功能的FLV播放器

          作者: 陳冰 時間: 2005-01-12 文檔類型: 來自:
          瀏覽統(tǒng)計(jì): total: 1717 year: 1674 quarter: 796 month: 221 week: 62 today: 6
           

          本文選自《Flash MX Professional 2004第一步》一書
          作者 陳冰
          本文可在藍(lán)色理想網(wǎng)站中使用,未經(jīng)允許不得轉(zhuǎn)載。

          創(chuàng)建一個全功能的FLV播放器

          我們將制作的這個FLV播放器由這樣幾部分組成:
          一個用于顯示視頻圖像的視頻對象,
          三個分別用于播放、暫停和停止視頻的按鈕,
          以及一個用于顯示緩沖區(qū)裝載進(jìn)度的動態(tài)文本。

          1. 創(chuàng)建三個按鈕元件,分別命名為“播放”、“暫停”、“停止”,將其各自一個實(shí)例拖放到場景舞臺中。

          2. 創(chuàng)建一個視頻元件,將其一個實(shí)例拖放到場景舞臺中,并賦予其實(shí)例名myVideo。

          3. 在場景舞臺中放置一個動態(tài)文本,賦予其實(shí)例名myText。

          4. 在根時間線的第1幀中捆綁下面的腳本:

          //創(chuàng)建一個NetConnection對象。
          myFLVConnection=new NetConnection();
          //創(chuàng)建一個流連接。
          myFLVConnection.connect(null);
          //創(chuàng)建一個NetStream對象。
          //myFLVConnection被指定給該NetStream對象。
          myFLVStream=new NetStream(myFLVConnection);
          //myFLVStream被捆綁到Video對象myVideo:
          myVideo.attachVideo(myFLVStream);
          //設(shè)置緩沖時間。
          myFLVStream.setBufferTime(10);

          分析這段腳本,首先我創(chuàng)建了一個NetConnection對象myFLVConnection,然后我調(diào)用NetConnection對象的connect()方法打開了一個流連接,在調(diào)用connect()方法時你必須傳遞給它一個null值作為參數(shù)。

          接下來,我利用myFLVStream=new NetStream(myFLVConnection);這行代碼創(chuàng)建了一個NetStream對象myFLVStream,在創(chuàng)建時我就需要把為該“流”提供的“連接”告知它,即把myFLVConnection對象作為參數(shù)傳遞給NetStream類的構(gòu)造函數(shù)。
          之后,我把myFLVStream(“流”)捆綁到Video對象myVideo。然后,我還用NetStream類的setBufferTime()方法以秒為單位指定了一個緩沖時間,即要在緩沖區(qū)中裝入可供播放多長時間的數(shù)據(jù)后才開始播放。

          5. 在“播放”按鈕實(shí)例上捆綁下面的腳本:

          on(release){
              //裝載并播放FLV文件。
              myFLVStream.play("myFLV.flv");

              //定義bufferLoad函數(shù)以供setInterval函數(shù)調(diào)用來顯示緩沖進(jìn)度。
              function bufferLoad(){
                  //在動態(tài)文本中顯示緩沖區(qū)的裝載進(jìn)度。
                  myText.text="緩沖區(qū)已裝載"+int((myFLVStream.bytesLoaded/myFLVStream.bytesTotal)*100)+"%";
          }
                  //設(shè)置時間間隔。
                  setInterval(bufferLoad,20);
          }

          這行代碼—myFLVStream.play("myFLV.flv");用來裝載和播放FLV文件。如果你的FLV文件位于某個HTTP地址或本地文件系統(tǒng)的某處,你可以使用http://或file://這樣的格式作為路徑的前綴來指定FLV文件的位置。
          這個表達(dá)式—myFLVStream.bytesLoaded/myFLVStream.bytesTotal用來檢查緩沖區(qū)已裝載的字節(jié)占緩沖區(qū)要裝載的總字節(jié)的比值。bytesLoaded和bytesTotal是NetStream類的兩個屬性。

          6. 在“暫停”按鈕實(shí)例上捆綁下面的腳本:

          on(release){
              //暫停FLV文件。
              myFLVStream.pause();
          }

          7. 在“停止”按鈕實(shí)例上捆綁下面的腳本:

          on(release){
              //停止FLV文件并同時刪除下載的FLV文件。
              myFLVStream.close();
          }

          8. 制作完成。你應(yīng)該在你的網(wǎng)站中測試這個FLV播放器。

          posted on 2006-05-30 15:02 blog搬家了--[www.ialway.com/blog] 閱讀(809) 評論(0)  編輯  收藏 所屬分類: FMS
          主站蜘蛛池模板: 新平| 望谟县| 昌吉市| 珲春市| 凉城县| 陵水| 鱼台县| 五原县| 临沂市| 师宗县| 时尚| 沽源县| 丹阳市| 远安县| 安岳县| 井研县| 无棣县| 涡阳县| 溆浦县| 大田县| 新民市| 介休市| 海城市| 丰都县| 亳州市| 河东区| 鹤壁市| 读书| 绍兴县| 忻城县| 诸暨市| 三台县| 唐山市| 新巴尔虎左旗| 高唐县| 汝南县| 棋牌| 南投县| 新巴尔虎右旗| 广昌县| 铜鼓县|