本文选自《flash mx professional 2004第一步》一书
作者 陈冰
本文可在蓝色理想网站中使用,未经允许不得转载。
创建一个全功能的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播放器。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器