WEB开发网
开发学院图形图像Flash FMS3系列(五):通过FMS实现时时视频聊天 阅读

FMS3系列(五):通过FMS实现时时视频聊天

 2009-05-05 12:06:31 来源:WEB开发网   
核心提示: 视频接收端相对发布端更简单,提供一个NetConnetion连接到发布端的FMS,FMS3系列(五):通过FMS实现时时视频聊天(3),通过NetStream播放时时视频流就完成,代码很简单,本文暂时不讨论,有兴趣的朋友可以查看官方文档了解,基本上都是在本系列前几篇文章中出现过的代码片段整

视频接收端相对发布端更简单,提供一个NetConnetion连接到发布端的FMS,通过NetStream播放时时视频流就完成。代码很简单,基本上都是在本系列前几篇文章中出现过的代码片段整合而成,详细见下代码块:

package
{
    import flash.net.*;
    import flash.events.*;
    import flash.display.*;
    import flash.media.*;
    
    public class LiveStream extends Sprite
    {
        private var video:Video;
        private var nc:NetConnection;
        private var ns:NetStream;
        
        public function LiveStream():void
        {
            nc = new NetConnection();
            nc.connect("rtmp://localhost/LiveStreams");
            nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
        }
        
        private function onNetStatusHandler(evt:NetStatusEvent):void
        {
            if(evt.info.code=="NetConnection.Connect.Success")
            {
                ns=new NetStream(nc);
                ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
                ns.client=new CustomClient();
                video=new Video();
                video.attachNetStream(ns);
                ns.play("1111");//1111为流的名字,对应于视频流发布端的publish("1111","live").
                addChild(video);
            }
        }
    }
}

OK,到这里视频聊天的两端都完成了,如果需要做双向视频聊天,只需要在每一边多提供一个流就可以了,两端都实现发布视频流和接收视频流数据。

或许看完文章的朋友回问到CustomClient是那里来的,CustomClient是为了处理元数据的,可以通过元数据向实况视频添加一些格外的属性,本文暂时不讨论,有兴趣的朋友可以查看官方文档了解。

系列文章:

FMS3系列(一):第一个FMS程序,连接到FMS服务器(Flash/Flex两种实现)

FMS3系列(二):创建可交互的FMS连接--I can say:Hello World

FMS3系列(三):创建基于FMS的流媒体播放程序,看山寨帮的山寨传奇

FMS3系列(四):在线视频录制、视频回放

FMS3系列(六):使用远程共享对象实现多人实时在线聊天

上一页  1 2 3 

Tags:FMS 系列 通过

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接