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

[Flex]基于flex的rtmp播放器代码示例(支持协议rtmp)

时间:2012-11-20 23:31cnblogs.com
[Flex]基于flex的rtmp播放器代码示例(支持协议rtmp),搞了一个上午,终于把支持rtmp协议的播放器给他做出来了·心里真开心···其实很多人都写出来 了的但是就是不愿意拿出来与大家分享

  搞了一个上午,终于把支持rtmp协议的播放器给他做出来了·心里真开心···其实很多人都写出来 了的但是就是不愿意拿出来与大家分享,今天我把代码放上来,与大家分享一下,但是这个播放器的播放和一些其他必须的功能我都没有做,只是类似一个demo一样的。。
代码如下:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="VideoExample()"> 
  3. <mx:Script> 
  4. <![CDATA[ 
  5.     
  6.     import flash.display.Sprite; 
  7.     import flash.events.*; 
  8.        import flash.media.Video; 
  9.        import flash.net.NetConnection; 
  10.        import flash.net.NetStream; 
  11.     
  12.     private var videoURL:String = "IronMan.flv"; 
  13.           private var connection:NetConnection; 
  14.           private var stream:NetStream; 
  15.           
  16.          public function VideoExample():void { 
  17.             connection = new NetConnection(); 
  18.             connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 
  19.             connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); 
  20.       //CuPlayer.com提示:代码连接RTMP服务器 
  21.             connection.connect("rtmp://localhost/oflaDemo"); 
  22.          } 
  23.          
  24.          private function netStatusHandler(event:NetStatusEvent):void { 
  25.               switch (event.info.code) { 
  26.                   case "NetConnection.Connect.Success": 
  27.                       connectStream(); 
  28.                       break; 
  29.                   case "NetStream.Play.StreamNotFound": 
  30.                       trace("Unable to locate video: " + videoURL); 
  31.                       break; 
  32.               } 
  33.           } 
  34.    
  35.     private function connectStream():void { 
  36.               var stream:NetStream = new NetStream(connection); 
  37.               stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 
  38.               stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
  39.               var video:Video = new Video(); 
  40.               video.width = 400; 
  41.               video.height = 400; 
  42.               video.attachNetStream(stream); 
  43.               stream.play(videoURL); 
  44.               sprct.addChild(video); 
  45.           } 
  46.           
  47.           private function securityErrorHandler(event:SecurityErrorEvent):void { 
  48.               trace("securityErrorHandler: " + event); 
  49.           } 
  50.           
  51.           private function asyncErrorHandler(event:AsyncErrorEvent):void { 
  52.               // ignore AsyncErrorEvent events. 
  53.           } 
  54. ]]> 
  55. </mx:Script> 
  56. <mx:VideoDisplay id="sprct" x="57" y="22" width="707" height="494"/> 
  57. </mx:Application> 

 

热门文章推荐

请稍候...

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

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