flex 接收播放rtmp視頻 接收播放rtmfp視頻 接收fms視頻

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 
 <fx:Script>
  <![CDATA[
   protected function button1_clickHandler(event:MouseEvent):void
   {
    // TODO Auto-generated method stub
    VG.width=int(textqietuk.text);
    VG.height=int(textqietuh.text);
    VideoExample();
   }
   
   import flash.display.Sprite;
   import flash.events.*;
   import flash.media.Video;
   import flash.net.NetConnection;
   import flash.net.NetStream;
   
   private var videoURL:String = "livestream01";
   private var connection:NetConnection;
   private var stream:NetStream;
   
   public function VideoExample():void {
    connection = new NetConnection();
    connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    connection.connect(textdz.text);//如rtmp://111.111.111.111:555/live
   }
   
   private function netStatusHandler(event:NetStatusEvent):void {
    switch (event.info.code) {
     case "NetConnection.Connect.Success":
      connectStream();
      break;
     case "NetStream.Play.StreamNotFound":
      //trace("Unable to locate video: " + videoURL);
      break;
    }
   }
   
   private function connectStream():void {
    var stream:NetStream = new NetStream(connection);
    stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
    stream.bufferTime=0
    var video:Video = new Video();
    video.width =int(textw.text);
    video.smoothing=true;
    video.height =int(texth.text);
     
    video.attachNetStream(stream);
    stream.play(texturl.text);
    sprct.addChild(video);

   }
   
   private function securityErrorHandler(event:SecurityErrorEvent):void {
    trace("securityErrorHandler: " + event);
   }
   
   private function asyncErrorHandler(event:AsyncErrorEvent):void {
    // ignore AsyncErrorEvent events.
   }
   
  ]]>
 </fx:Script>
 
 <fx:Declarations>
  <!-- 將非可視元素(例如服務、值對象)放在此處 -->
 </fx:Declarations>
 <s:Button x="699" y="62" label="開始" click="button1_clickHandler(event)"/>
 <s:Label x="60" y="23" text="寬:"/>
 <s:Label x="60" y="66" text="高:"/>
 <s:TextInput id="textw" x="90" y="18" width="61" text="502"/>
 <s:TextInput id="texth" x="90" y="62" width="61" text="363"/>
 <s:Label x="177" y="46" text="地址:"/>
 <s:TextInput id="textdz" x="221" y="41" width="184" text="rtmfp://116.93.34.5:19351/live"/>
 <s:TextInput id="texturl" x="429" y="42" width="94" text="livestream02"/>
 
 <s:Scroller  x="149" y="155" width="363" height="363"   >
  <s:VGroup id="VG" width="100%" height="100%" >
   <s:VideoDisplay id="sprct" width="200" height="200" scaleMode="none"/>
  
  </s:VGroup>
 </s:Scroller>
 
 <s:Label x="580" y="36" text="切圖寬:"/>
 <s:Label x="580" y="66" text="切圖高:"/>
 <s:TextInput id="textqietuk" x="636" y="31" width="55" text="502"/>
 <s:TextInput id="textqietuh" x="636" y="62" width="55" text="363"/>
</s:Application>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章