zoukankan      html  css  js  c++  java
  • 创建一个全功能的FLV播放

      创建一个全功能的FLV播放器


      我们将制作的这个FLV播放器由这样几部分组成:
      一个用于显示视频图像的视频对象,
      三个分别用于播放、暂停和停止视频的按钮,
      连同一个用于显示缓冲区装载进度的动态文本。

      1. 创建三个按钮元件,分别命名为“播放”、“暂停”、“停止”,将其各自一个实例拖放到场景舞台中。
      2. 创建一个视频元件,将其一个实例拖放到场景舞台中,并赋予其实例名myVideo。
      3. 在场景舞台中放置一个动态文本,赋予其实例名myText。
      4. 在根时间线的第1帧中捆绑下面的脚本:

      //创建一个NetConnection对象。
      myFLVConnection=new NetConnection();

      //创建一个流连接。
      myFLVConnection.connect(null);

      //创建一个NetStream对象。
      //myFLVConnection被指定给该NetStream对象。
      myFLVStream=new NetStream(myFLVConnection);

      //myFLVStream被捆绑到Video对象myVideo:
      myVideo.attachVideo(myFLVStream);

      //配置缓冲时间。
      myFLVStream.setBufferTime(10);

      分析这段脚本,首先我创建了一个NetConnection对象myFLVConnection,然后我调用NetConnection对象的connect()方法打开了一个流连接,在调用connect()方法时您必须传递给他一个null值作为参数。
      接下来,我利用myFLVStream=new NetStream(myFLVConnection);这行代码创建了一个NetStream对象myFLVStream,在创建时我就需要把为该“流”提供的“连接”告知他,即把myFLVConnection对象作为参数传递给NetStream类的构造函数。
      之后,我把myFLVStream(“流”)捆绑到Video对象myVideo。然后,我还用NetStream类的setBufferTime()方法以秒为单位指定了一个缓冲时间,即要在缓冲区中装入可供播放多长时间的数据后才开始播放。

      5. 在“播放”按钮实例上捆绑下面的脚本:

      on(release){
       //装载并播放FLV文档。
       myFLVStream.play("myFLV.flv");
      //定义bufferLoad函数以供setInterval函数调用来显示缓冲进度。
       function bufferLoad(){
       //在动态文本中显示缓冲区的装载进度。
       myText.text="缓冲区已装载"+int((myFLVStream.bytesLoaded/myFLVStream.bytesTotal)*100)+"%";
      }

       //配置时间间隔。
       setInterval(bufferLoad,20);
      }

      这行代码―myFLVStream.play("myFLV.flv");用来装载和播放FLV文档。假如您的FLV文档位于某个HTTP地址或本地文档系统的某处,您能够使用http://或file://这样的格式作为路径的前缀来指定FLV文档的位置。
      这个表达式―myFLVStream.bytesLoaded/myFLVStream.bytesTotal用来检查缓冲区已装载的字节占缓冲区要装载的总字节的比值。bytesLoaded和bytesTotal是NetStream类的两个属性。

      6. 在“暂停”按钮实例上捆绑下面的脚本:

      on(release){
       //暂停FLV文档。
       myFLVStream.pause();
      }

      7. 在“停止”按钮实例上捆绑下面的脚本:

      on(release){
       //停止FLV文档并同时删除下载的FLV文档。
       myFLVStream.close();
      }

      8. 制作完成。您应该在您的网站中测试这个FLV播放器。

    谢祥选【小宇飞刀(xieyunc)】
  • 相关阅读:
    HDU 1525
    kmp模板
    hdu 4616 Game(树形DP)
    hdu 4619 Warm up 2(并查集活用)
    hdu 4614 Vases and Flowers(线段树加二分查找)
    Codeforces 400D Dima and Bacteria(并查集最短路)
    poj 2823 Sliding Window (单调队列)
    hdu 2196 Computer(树形dp)
    hdu 4604 Deque
    最短路径
  • 原文地址:https://www.cnblogs.com/xieyunc/p/2793646.html
Copyright © 2011-2022 走看看