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)】
  • 相关阅读:
    CentOS7 安装MongoDB 3.0服务
    PXE批量部署linux操作系统
    centos的软件安装方法rpm和yum
    第二章:Posix IPC
    第一章:简介
    Unix网络编程--卷二:进程间通信
    Unix网络编程--卷二:FAQ
    linux下samba环境搭建
    Linux下缓冲区溢出攻击的原理及对策(转载)
    lsof
  • 原文地址:https://www.cnblogs.com/xieyunc/p/9126651.html
Copyright © 2011-2022 走看看