·您当前的位置:首页 > 技术教程 > 播放器教程 >

[AS3]as3视频类播放器代码写法示例

时间:2013-03-29 16:57CuPlayer.com
在ActionScript 3.0中,提供了一个Video类,用来处理视频。使用Video类可以控制基本的视频文件功能比如编码、滤镜等。通过使用Video类的属性和方法,可以在程序中直接显示实时的视频流

视频类.在ActionScript 3.0中,提供了一个Video类,用来处理视频。使用Video类可以控制基本的视频文件功能比如编码、滤镜等。通过使用Video类的属性和方法,可以在程序中直接显示实时的视频流,而不用把视频文件编译到Flash Player视频文件中。

加载视频文件

.flv格式是Flash Player网络传输的视频文件的基本格式。可以通过一些工具把其他的视频文件格式转换为.flv格式,比如Flash CS3自带的工具Flash Video Encode。

加载一个视频文件,通常可以分为三步实现。其步骤如下所示。

 创建一个NetConnection对象。NetConnection类作用是连接到远程服务器中,调用命令,播放视频。其代码如下所示:

// 建立连接

var nc:NetConnection = new NetConnection();

nc.connect(null);

 创建一个NetStream对象。NetStream类作用是通过NetConnection对象提供的连接,打开Flash Player与服务器或Flash Player与本地文件系统之间的单向流连接。其代码如下所示:

// 创建视频流

var ns:NetStream = new NetStream(nc);

// 开始播放

ns.play("CuPlayer.flv");

 创建一个Video对象。调用Video类的attachNetStream事件,可以直接显示视频流。其代码如下所示:

// 视频传输到本地

// 创建Video对象

var vid:Video = new Video();

vid.attachNetStream(ns);

通过这三个步骤的操作,视频文件就被加载并播放。

下面示例说明如何播放一个本地的视频文件lake.flv。其完整的代码如下所示:

  1. package 
  2.     import flash.display.Sprite; 
  3.     import flash.net.NetConnection; 
  4.     import flash.net.NetStream; 
  5.     import flash.media.Video; 
  6.     import flash.events.AsyncErrorEvent; 
  7.     public class VideoExample extends Sprite 
  8.     { 
  9.         /************************************* 
  10.         * CuPlayer.com构造函数 
  11.         * */ 
  12.         public function VideoExample() 
  13.         { 
  14.             // 建立连接 
  15.             var nc:NetConnection = new NetConnection(); 
  16.             nc.connect(null); 
  17.             // 创建视频流 
  18.             var ns:NetStream = new NetStream(nc); 
  19.             ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
  20.             // 指定视频名 
  21.             ns.play("CuPlayer.flv"); 
  22.             // 视频传输到本地 
  23.             var vid:Video = new Video(); 
  24.             vid.attachNetStream(ns); 
  25.             // 添加到舞台上 
  26.             addChild(vid); 
  27.         } 
  28.         /************************************* 
  29.         * 捕获连接异常 
  30.         * */ 
  31.         function asyncErrorHandler(event:AsyncErrorEvent):void 
  32.         { 
  33.             // 错误处理 
  34.         } 
  35.     } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器