`
nianshi
  • 浏览: 423070 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex FMS应用(中)

    博客分类:
  • Flex
阅读更多

三、 Flex连接到FMS服务器

     首先建立好Flex项目,默认会创建一个MXML文件,简单化实现这里就直接在这个MXML文件里来实现连接FMS。代码上和Flash连接到FMS几乎没有什么差别,主要就是学习NetConnection类来完成,如下代码定义:

1 // Flex与FMS建立连接的对象
2 private var netConn:NetConnection;
3 // FMS服务器的地址,使用rtmp协议
4 private var rtmpUrl:String = " rtmp://localhost/firstFMS " ; 


  NetConnection指示 Flash Player 是通过持久性的 RTMP 连接连接到服务器,实现这一步操作是通过NetConnection类的connect()方法来完成的。如下:

1 // 当Flex应用程序启动的时候就建立与FMS服务器的连接
2 internal function on Init (): void
3 {
4      netConn = new NetConnection();
5      netConn.connect(rtmpUrl);
6     netConn.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
7     netConn.addEventListener(AsyncErrorEvent.ASYNC_ERROR,onAsyncErrorHandler);
8 }   


  connect()方法打开指定rtmp协议地址的FMS服务器的连接。一旦调用该方法NetConnection的对象就会捕捉到FMS返回的一个网络连接状态,通过NetStatusEvent事件监听可以得到返回状态的值(详细见本文前Flash部分), AsyncErrorEvent事件为异步引发异常(既本机异步代码)时调度。关于NetConnection的各种状态的详细请查看本文之前的Flash实例有详细的介绍。

  由于实例比较简单,这里我就不在多说废话,下面是通过Flex实现连接到FMS的完整代码:


Flex代码 复制代码
  1. <?xml version= "1.0" encoding= "utf-8" ?>   
  2. <mx:Application xmlns:mx= "http://www.adobe.com/2006/mxml" layout= "absolute" >   
  3.      <mx:Script>   
  4.          <![CDATA[   
  5.              import mx.controls.Alert;   
  6.              //Flex与FMS建立连接的对象   
  7.              private var nc:NetConnection;   
  8.              //FMS服务器的地址,使用rtmp协议   
  9.              private var rtmpUrl:String= "rtmp://localhost/firstFMS" ;   
  10.              //当Flex应用程序启动的时候就建立与FMS服务器的连接   
  11.   
  12.              internal function onClick():void   
  13.              {   
  14.                  nc = new NetConnection();   
  15.                  nc.connect(rtmpUrl);   
  16. nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);                 nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR,onAsyncErrorHandler);   
  17.              }   
  18.   
  19.              private function onClickHandler(evt:MouseEvent):void   
  20.              {   
  21.                  trace( "正在连接FMS服务器" );   
  22.                  nc = new NetConnection();   
  23.                  nc.connect( "rtmp://localhost/firstFMS" );   
  24.                  nc.client=this;   
  25.                  nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);   
  26.                  nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR,onAsyncErrorHandler);   
  27.              }   
  28.            
  29.              private function onNetStatusHandler(evt:NetStatusEvent):void   
  30.              {   
  31.                  switch (evt.info.code)   
  32.                  {   
  33.                      case "NetConnection.Connect.Success" :   
  34.                          trace( "成功连接FMS服务器!" );   
  35.                          break;   
  36.                      case "NetConnection.Connect.Rejected" :   
  37.                          trace ( "访问FMS服务器权限不足,连接被拒绝!" );   
  38.                          break;   
  39.                      case "NetConnection.Connect.InvalidApp" :   
  40.                          trace( "指定的应用程序名称没有找到" );   
  41.                          break;   
  42.                      case "NetConnection.Connect.Failed" :   
  43.                          trace( "连接失败!" );   
  44.                          break;   
  45.                      case "NetConnection.Connect.AppShutDown" :   
  46.                          trace( "服务器端应用程序已经关闭(由于资源耗用过大等原因)或者服务器已经关闭!" );   
  47.                          break;   
  48.                      case "NetConnection.Connect.Closed" :   
  49.                          trace( "与FMS的连接中断!" );   
  50.                          break;   
  51.                  }   
  52.              }   
  53.                
  54.              private function onAsyncErrorHandler(evt:AsyncErrorEvent):void   
  55.              {}   
  56.      ]]>   
  57.      </mx:Script>   
  58.      <mx:Button x= "135" y= "89" label= "Button" click= "onClick()" fontSize= "12" fontWeight= "normal" />   
  59. </mx:Application>
分享到:
评论

相关推荐

    FMS.rar_flex_flex FMS_fms_site:www.pudn.com

    【描述】中的“fms实现的视频播放系统”指的是使用FMS作为后台服务器,配合Flex前端展示,构建的视频播放解决方案。该系统包括“带说明,带安装说明带文档”,意味着用户可以详细了解到如何配置、安装和使用这套系统...

    fms.rar_flex_flex and fms_fms_fms rtmp_fms flex

    在聊天室应用中,RTMP协议用于实现实时的文本和语音交流。 4. **源码**:压缩包中提到的"FMS为源码"意味着包含了开发聊天室应用的原始代码。这对于学习和理解Flex和FMS的集成,以及实时通信应用的开发流程非常有...

    Flex FMS 发送和接收视频

    在视频应用中,JMS可能会被用来辅助处理视频元数据、状态更新或同步信息,以提高系统效率和可靠性。 6. **实例操作流程** 在实际操作中,首先需要在FMS上设置好环境,然后用Flex编写客户端应用,实现视频的捕获、...

    flex+fms实现视频直播源码

    6. **部署与配置**:在实际使用前,你需要在本地或服务器上安装并配置FMS服务器,然后根据项目中的说明调整Flex应用中的服务器地址和直播频道设置。 7. **优化与扩展**:为了提高性能和用户体验,你可以考虑优化...

    fms.rar_flex_fms_流媒体

    3. **连接FMS**:在Flex应用中,使用NetConnection对象建立与FMS服务器的连接。通过调用`NetConnection.connect()`方法,指定FMS服务器的URL。 4. **发布流**:一旦连接成功,你可以创建一个NetStream对象,使用`...

    Flex和Fms3打造在线聊天室 源码和文档

    在聊天室应用中,当用户发送消息时,这些消息通常会被存储在一个SharedObject中,以便其他用户可以获取并显示。SharedObject类似于小型的客户端缓存,它可以在本地存储数据,并在需要时与服务器同步。在Flex中,我们...

    flex连接到FMS详解

    通过这种方式,Flex应用能够利用FMS实现高效、流畅的视频流传输和互动功能。在实际开发中,还需要了解并熟练掌握ActionScript以及FMS的相关API,以创建复杂的实时多媒体应用。同时,注意优化网络连接和处理性能问题...

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

    FMS3特别适用于开发基于Flash和Flex的应用,因为这两个技术平台可以无缝集成FMS,创建出具有高质量音视频效果的实时通信应用。 **实时视频聊天的技术原理** 1. **RTMP协议**:RTMP是实时消息协议,用于在客户端(如...

    FMS 4.5 + Flex mobile 之 Hello World 工程源代码

    在本文中,我们将深入探讨“FMS 4.5 + Flex mobile 之 Hello World 工程源代码”这一主题,这是针对Adobe Flash Media Server (FMS) 4.5 和 Flex移动开发的一个基础教程项目。这个项目包含了FMS服务器端的ASC脚本...

    通过FMS实现时时视频聊天(Flash|Flex)源码

    3. **RTMP 协议**:在实时视频聊天应用中,RTMP用于建立客户端和服务器之间的连接,传输音频和视频数据。这种协议提供了低延迟的数据传输,适合实时通信。 4. **视频编码与解码**:在FMS中,视频流通常需要编码成...

    fms 中文 教程

    3.2 Flex SDK集成:Flex SDK是开发FMS应用的常用工具,它提供了图形化界面和组件库,简化了UI设计和程序开发。 3.3 RTMFP协议:FMS支持RTMFP(Real-Time Media Flow Protocol),允许用户间直接通信,降低服务器...

    FMS中文帮助文档

    FMS中文帮助文档是为开发者提供的一份详细指南,旨在帮助他们理解和利用Flex与FMS之间的交互,从而实现高效、流畅的多媒体应用。以下是这份文档可能涵盖的关键知识点: 1. **FMS基础概念**: - **流媒体技术**:...

    fms3中文文档

    ### FMS3中文文档知识点详解 #### 一、FMS3概述 - **产品定位**:Adobe ...综上所述,FMS3 是一款强大的实时音视频流传输解决方案,通过合理的架构设计和技术选型,可以有效地支持大规模实时互动应用的开发与部署。

    FLEX视频摄像头录制上传到服务器及FMS服务器的安装与配置

    在本文中,我们将深入探讨如何使用FLEX技术实现视频摄像头录制,并将录制的视频上传到FMS(Flash Media Server)服务器。首先,我们先来理解一下FLEX是什么以及它的核心功能。 FLEX全称为Flex Framework,是Adobe...

    Fms3和Flex打造在线多人视频会议和视频聊天附原代码

    Flex是基于ActionScript 3的开放源码框架,用于构建富互联网应用程序(RIA),而FMS3则是一个强大的服务器平台,专门用于实时流媒体和交互式应用。 首先,让我们深入理解Flex。Flex提供了丰富的组件库,包括各种用户...

    fms 中文文档 3

    在本文档中,我们将深入探讨如何使用FMS进行服务器端脚本编写、应用程序创建以及客户端和服务器端代码的实现。 1.3.4 编写服务器端脚本 在FMS中,服务器端脚本主要使用ActionScript编写,这使得与客户端交互变得...

    免费多人视频会议功能加强版本(Fms3和Flex开发(附源码))

    标题中的“免费多人视频会议功能加强版本(Fms3和Flex开发(附源码))”指的是一个基于Fms3(Flash Media Server 3)和Flex技术开发的多人视频会议系统,该系统不仅提供基本的视频交流功能,还进行了性能优化和功能增强...

    FMS连接问题解决方案--完结版

    在开发使用Flex与FMS交互的应用时,可能会遇到这些常见问题。 1. **访问FMS连接失败(NetConnection.Connect.Failed)** 当遇到此错误时,可能是因为缺少必要的文件或配置不正确。解决方法是检查FMS安装目录下的`...

    fms3视频教程.PDF

    - **FMS应用创建**:在FMS安装目录下的`applications`文件夹中创建新的文件夹即可建立一个FMS应用,例如创建名为`firstFMS`的文件夹。 - **开发工具选择**:本教程使用Adobe Flash CS4和Flex Builder 3进行开发,...

Global site tag (gtag.js) - Google Analytics