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>