前面部署仍会有些问题。启动是会报错。这是我们需要
1,找类。在Src压缩包里找到ShutdownMXBean.java。放到项目中。
2,修改logback.xml,注释掉<consolePlugin />,如<!-- <consolePlugin /> -->。
3,在WebRoot下,新建streams目录,在里面放些flv,mp3之类的文件。
文档格式如下:
最后我们做客户端。代码如下:
<?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"
creationComplete="init()"
>
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.events.ListEvent;
import mx.collections.ArrayCollection;
private var rtmpURL:String="rtmp://localhost:1935/chapter2";
private var nc:NetConnection=new NetConnection();
private var playerVideo:Video=new Video();
private var responder:Responder = new Responder(getMediaList);
[Bindable]
public var videoList:ArrayCollection;
private var stream:NetStream;
private function init():void{
playerVideo.x=200;
connect();
}
private function connect():void{
nc.addEventListener(NetStatusEvent.NET_STATUS,netStatus);
nc.connect(rtmpURL);
trace("开始连接");
}
private function clickItem(e:ListEvent):void{
container.addChild(playerVideo);
stream.play(videoList.getItemAt(e.rowIndex).label);
}
public function getVideos():void{
nc.call("flv.getListOfAvailableFLVs", responder);
}
public function getMediaList(list:Object):void{
var mediaList:Array = new Array();
for(var items:String in list){
mediaList.push({label:items, size:list[items].size,
dateModified:list[items].lastModified});
}
videoList = new ArrayCollection(mediaList);
}
private function netStatus(e:NetStatusEvent):void{
trace(e.info.code);
if(e.info.code=="NetConnection.Connect.Success"){
getVideos();
stream=new NetStream(nc);
stream.client=new StreamClient();
playerVideo.attachNetStream(stream);
}
}
]]>
</fx:Script>
<mx:List itemClick="clickItem(event)" x="10" y="21" height="161"
dataProvider="{videoList}"></mx:List>
<mx:UIComponent id="container">
</mx:UIComponent>
</s:Application>
编译运行后,点击左侧的树文件,开始播放。
初学者可以参考我的博客中的red5入门教程.pdf