flex

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="init();">

    <mx:Script>
        <![CDATA[
            import mx.utils.ObjectUtil;

            private var nc:NetConnection;
            private var ns:NetStream;
            private var video:Video;
            private var meta:Object;
            private var nsClient:Object = {};

            private function init():void {
                nsClient.onMetaData = ns_onMetaData;
                nsClient.onCuePoint = ns_onCuePoint;

//                nc = new NetConnection();
//                nc.connect(null);
                   nc = new NetConnection();
                   nc.connect("rtmp://localhost/oflaDemo");
                   nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
                   nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR,onAsyncErrorHandler); 
                   nc.client=nsClient;
            }

            private function ns_onMetaData(item:Object):void {
                trace("meta");
                meta = item;
                // Resize Video object to same size as meta data.
                video.width = item.width;
                video.height = item.height;
                // Resize UIComponent to same size as Video object.
                uic.width = video.width;
                uic.height = video.height;
                panel.title = "framerate: " + item.framerate;
                panel.visible = true;
                trace(ObjectUtil.toString(item));
            }

            private function ns_onCuePoint(item:Object):void {
                trace("cue");
            }
           
           
             private function onNetStatusHandler(evt:NetStatusEvent):void
           {
                switch (evt.info.code)
                {
                    case "NetConnection.Connect.Success":
                        trace("成功连接red5服务器!");
                        ns = new NetStream(nc);
                ns.play("DarkKnight.flv");
                ns.client = nsClient;
               
                video = new Video();
                video.attachNetStream(ns);
                uic.addChild(video);
               
                        break;
                    case "NetConnection.Connect.Closed":
                       trace("与red5的连接中断!");
                        break;
                }
            }
           
            private function onAsyncErrorHandler(evt:AsyncErrorEvent):void
            {}
        ]]>
    </mx:Script>

    <mx:Panel id="panel" visible="false">
        <mx:UIComponent id="uic" />
        <mx:ControlBar>
            <mx:Button label="Play/Pause" click="ns.togglePause();" />
            <mx:Button label="Rewind" click="ns.seek(0); ns.pause();" />
        </mx:ControlBar>
    </mx:Panel>

</mx:Application>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值