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

[教程]将Video对象与NetConnection和NetStream类使用的示例源代

时间:2014-05-28 11:42酷播
在本例中,创建 Video 和 NetStream 对象并调用 Video.attachNetStream() 和 NetStream.play() 方法的代码放在处理函数中

在本例中,创建 Video 和 NetStream 对象并调用 Video.attachNetStream()NetStream.play() 方法的代码放在处理函数中。 仅当连接到 NetConnection 对象的尝试取得成功时才调用处理函数,即,当 netStatus 事件返回 info 对象(带有一个表示成功的 code 属性)时,才调用该处理函数。 建议您在调用 NetStream.play() 之前,等待连接成功。

  1. package { 
  2.     import flash.display.Sprite; 
  3.     import flash.events.NetStatusEvent; 
  4.     import flash.events.SecurityErrorEvent; 
  5.     import flash.media.Video; 
  6.     import flash.net.NetConnection; 
  7.     import flash.net.NetStream; 
  8.     import flash.events.Event; 
  9.  
  10.     public class NetConnectionExample extends Sprite { 
  11.         private var videoURL:String = "Video.flv"
  12.         private var connection:NetConnection; 
  13.         private var stream:NetStream; 
  14.  
  15.         public function NetConnectionExample() { 
  16.             connection = new NetConnection(); 
  17.             connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 
  18.             connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); 
  19.             connection.connect(null); 
  20.         } 
  21.  
  22.         private function netStatusHandler(event:NetStatusEvent):void { 
  23.             switch (event.info.code) { 
  24.                 case "NetConnection.Connect.Success": 
  25.                     connectStream(); 
  26.                     break; 
  27.                 case "NetStream.Play.StreamNotFound": 
  28.                     trace("Stream not found: " + videoURL); 
  29.                     break; 
  30.             } 
  31.         } 
  32.  
  33.         private function securityErrorHandler(event:SecurityErrorEvent):void { 
  34.             trace("securityErrorHandler: " + event); 
  35.         } 
  36.  
  37.         private function connectStream():void { 
  38.             var stream:NetStream = new NetStream(connection); 
  39.             stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 
  40.             stream.client = new CustomClient(); 
  41.             var video:Video = new Video(); 
  42.             video.attachNetStream(stream); 
  43.             stream.play(videoURL); 
  44.             addChild(video); 
  45.         } 
  46.     } 
  47. class CustomClient { 
  48.     public function onMetaData(info:Object):void { 
  49.         trace("CuPlayer.com提示:metadata: duration=" + info.duration + 
    "
     width=" + info.width + " height=" + info.height + " framerate=" + info.framerate); 
  50.     } 
  51.     public function onCuePoint(info:Object):void { 
  52.         trace("CuPlayer.com提示:cuepoint: time=" + info.time + 
    "
     name=" + info.name + " type=" + info.type); 
  53.     } 

 

热门文章推荐

请稍候...

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

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