最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 网络设计学院 > Flash教程

flash中制作一个全功能的FLV播放器

日期:01-03    来源:中国设计秀    作者:cnwebshow.com

本文选自《Flash MX Professional 2004第一步》一书 qxH中国设计秀
作者 陈冰 qxH中国设计秀
本文可在蓝色理想网站中使用,未经允许不得转载。qxH中国设计秀

创建一个全功能的FLV播放器qxH中国设计秀

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

1. 创建三个按钮元件,分别命名为“播放”、“暂停”、“停止”,将其各自一个实例拖放到场景舞台中。qxH中国设计秀

2. 创建一个视频元件,将其一个实例拖放到场景舞台中,并赋予其实例名myVideo。qxH中国设计秀

3. 在场景舞台中放置一个动态文本,赋予其实例名myText。qxH中国设计秀

4. 在根时间线的第1帧中捆绑下面的脚本:qxH中国设计秀

//创建一个NetConnection对象。qxH中国设计秀
myFLVConnection=new NetConnection();qxH中国设计秀
//创建一个流连接。qxH中国设计秀
myFLVConnection.connect(null);qxH中国设计秀
//创建一个NetStream对象。qxH中国设计秀
//myFLVConnection被指定给该NetStream对象。qxH中国设计秀
myFLVStream=new NetStream(myFLVConnection);qxH中国设计秀
//myFLVStream被捆绑到Video对象myVideo:qxH中国设计秀
myVideo.attachVideo(myFLVStream);qxH中国设计秀
//设置缓冲时间。qxH中国设计秀
myFLVStream.setBufferTime(10);qxH中国设计秀

分析这段脚本,首先我创建了一个NetConnection对象myFLVConnection,然后我调用NetConnection对象的connect()方法打开了一个流连接,在调用connect()方法时你必须传递给它一个null值作为参数。qxH中国设计秀

接下来,我利用myFLVStream=new NetStream(myFLVConnection);这行代码创建了一个NetStream对象myFLVStream,在创建时我就需要把为该“流”提供的“连接”告知它,即把myFLVConnection对象作为参数传递给NetStream类的构造函数。qxH中国设计秀
之后,我把myFLVStream(“流”)捆绑到Video对象myVideo。然后,我还用NetStream类的setBufferTime()方法以秒为单位指定了一个缓冲时间,即要在缓冲区中装入可供播放多长时间的数据后才开始播放。qxH中国设计秀

5. 在“播放”按钮实例上捆绑下面的脚本:qxH中国设计秀

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

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

6. 在“暂停”按钮实例上捆绑下面的脚本:qxH中国设计秀

on(release){qxH中国设计秀
    //暂停FLV文件。qxH中国设计秀
    myFLVStream.pause();qxH中国设计秀
}qxH中国设计秀

7. 在“停止”按钮实例上捆绑下面的脚本:qxH中国设计秀

on(release){qxH中国设计秀
    //停止FLV文件并同时删除下载的FLV文件。qxH中国设计秀
    myFLVStream.close();qxH中国设计秀
}qxH中国设计秀

8. 制作完成。你应该在你的网站中测试这个FLV播放器。qxH中国设计秀