Flash可以播放FLV格式的视频资源。视频可以存放在本地,也可以部署在远程的网络服务器。由于视频播放是一种比较具有商业价值的应用,ActionScript对视频播放提供了很多支持。不仅提供了基础的Video类和VideoPlayer类,还提供了FLVPlayback类。Video类和VideoPlayer类需要配合相关的处理数据传输的类,才能完成视频的读取和播放。但是FLVPlayback类高度的集成了视频资源的访问、读取和操作功能。使用FLVPlayback类,几乎可以完成视频播放的所有操作。不仅可以播放通过渐进式下载的Flash视频(FLV)文件,还可以播放流式加载的FLV文件。
FLVPlayback类存储在fl.video包中。fl包不是Flash的默认搜索包,所以在使用FLVPlayback前需要首先利用import关键字导入fl.video。从继承树的角度看,FLVPlayback扩展了Sprite类并包装VideoPlayer对象,因此它是一个显示对象,可以按照一般的显示对象操作它。下面的代码创一个FLVPlayback对象:
import fl.video.*;
var myfp:FLVPlayback= new FLVPlayback();
利用FLVPlayback类的load()方法,能直接加载外部的视频文件。无需指定视频大小,该方法调用后会自动使用默认大小呈现一个视频回放。为了令视频呈现在舞台上,需要将FLVPlayback对象加入显示列表。
myfp.load("flv/flvdata.flv");
myfp.x=0;
myfp.y=20;
addChild(myfp);
调用play()方法,开始播放加载的视频:
myfp.play();
编译该程序,运行结果如图所示:
由于FLVPlayback将各种功能高度的集成和封装,使得开发者可以使用如此简单的代码,创建如此复杂的应用。