0 0

请能否给我一个flex NetConnect连接成功的例子5

我在网上找到很多关于flex NetConnect的例子,可是为什么我copy进去的代码在我的flex工程中确总是连接失败,我查了rtmp的端口确实没问题啊,后台日志也没有报什么错误,可是就在NetStream对象创建的时候创个NetConnect对象,这一边初始化的时候,后台日志报错,我郁闷,为什么别人用的好好的,而我却总是报些无聊的错误,求解啊!错误日志如下:
LCDS]Deserializing AMF/RTMP request
Version: 3  "createStream"
  2.0

  (Command method=createStream (3) trxId=2.0)
    null

[LCDS]Received command: TCCommand [ Cmd: 3, MethodName: createStream, TrxID: 2.0]
[LCDS]Thread[my-rtmp-SocketServer-WorkerThread-2,5,main] failed to read Connection '11701859' or process the data; Connection is in the 'Open' state and will be forced closed.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
2011年10月04日 12:21

2个答案 按时间排序 按投票排序

0 0

<?xml version="1.0" encoding="utf-8"?>
<panel:SuperPanel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="init()"
xmlns:panel="com.blessedos.skins.panel.*" enable_full="false" enable_max="false"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
<fx:Script>
<![CDATA[
import com.blessedos.common.component.DialogWindow;
import com.blessedos.common.util.BlessedAlert;
import com.blessedos.common.util.BusyStatus;

import mx.core.UIComponent;

import org.osmf.net.NetConnectionCodes;
import org.osmf.net.NetStreamCodes;
//revice开头的变量是接收端
public var recive_video:Video;
public var recive_ns:NetStream;
public var recive_netCon:NetConnection;
public var recive_ui:UIComponent;


//publish开头的变量是发布端
public var publish_video:Video;
public var publish_ns:NetStream;
public var publish_netCon:NetConnection;
public var cam:Camera;
public var mic:Microphone;
public var publish_ui:UIComponent;
/**
* 初始化发布端
*/
public function initPublish():void
{
/* 显示忙碌状态 */
BusyStatus.showBusy(publish);
/* 初始化乘放Video的容器 */
publish_ui = new UIComponent();
publish_ui.width = publish.width;
publish_ui.height = publish.height;
/* 实例化video */
publish_video = new Video(publish_ui.width,publish_ui.height);
publish_netCon = new NetConnection();
publish_netCon.client = this;
publish_netCon.addEventListener(NetStatusEvent.NET_STATUS,publish_netStatusHandler);
publish_netCon.connect("rtmp://192.168.0.138/live");
/* 将Video添加到容器上 */
publish_ui.addChild(publish_video);
publish.addElement(publish_ui);
}
/**
* 发布端的流媒体服务连接状态
*
*/
public function publish_netStatusHandler(event:NetStatusEvent):void
{
switch(event.info.code){
case NetConnectionCodes.CONNECT_SUCCESS:
/* 连接成功开始加载设备 */
/* 初始化设备 和  视频流连接 */
publish_ns = new NetStream(publish_netCon);
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
publish_ns.attachAudio(mic);
publish_ns.attachCamera(cam);
cam.setMode(publish_video.width,publish_video.height,24);
cam.setQuality(0,100);
publish_ns.addEventListener(NetStatusEvent.NET_STATUS,publish_netStatusHandler);
publish_ns.publish("testlive","live");
publish_video.attachCamera(cam);
BusyStatus.removeBusy(publish);
break;
case NetConnectionCodes.CONNECT_FAILED:
BlessedAlert.show("流媒体连接失败","ERROR");
break;
case NetConnectionCodes.CONNECT_CLOSED:
BlessedAlert.show("流媒体连接成功关闭","INFO");
break;
case NetStreamCodes.NETSTREAM_PUBLISH_BADNAME:
BlessedAlert.show("该名称视频已在直播","INFO");
break;
default:
break;
}
}

public function onBWDone():void{
};

/**
* 初始化接收端
*/
public function initRecive():void
{
BusyStatus.showBusy(recive);
recive_ui = new UIComponent();
recive_ui.width = recive.width;
recive_ui.height = recive.height;
recive_video = new Video(recive_ui.width,recive_ui.height);
recive_netCon = new NetConnection();
recive_netCon.client = this;
recive_netCon.addEventListener(NetStatusEvent.NET_STATUS,recive_netStatusHandler);
recive_netCon.connect("rtmp://192.168.0.138/live");
recive_ui.addChild(recive_video);
recive.addElement(recive_ui);
}

/**
*
*/
public function recive_netStatusHandler(event:NetStatusEvent):void
{
switch(event.info.code){
case NetConnectionCodes.CONNECT_SUCCESS:
recive_ns = new NetStream(recive_netCon);
recive_ns.addEventListener(NetStatusEvent.NET_STATUS,recive_netStatusHandler);
recive_video.attachNetStream(recive_ns);
recive_ns.play("testlive");
BusyStatus.removeBusy(recive);
break;
default:
break;
}
}

public function init():void
{

}

]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:VBox width="100%" height="100%">
<mx:HBox paddingBottom="20" paddingLeft="20" paddingRight="20" paddingTop="20" width="100%" height="100%" horizontalGap="20">
<s:BorderContainer id="publish" width="100%" height="100%" />
<s:BorderContainer id="recive" width="100%" height="100%" />
</mx:HBox>
<mx:HBox verticalAlign="middle" horizontalAlign="center" width="100%" height="30">
<s:Button label="开始播放" click="initPublish()"/>
<s:Button label="开始接收" click="initRecive()"/>
</mx:HBox>
</mx:VBox>
</panel:SuperPanel>

这是一个发布和接受的自定义组件 里面的皮肤也是自定义的 用的时候可以先把皮肤去掉 修改一下rtmp的地址

2011年10月09日 09:51
0 0

你是做流媒体吗?连接的时候 先打开流媒体控制台 然后监测是否有连接介入 或者监测netConnect的各各状态 这个参考一下网上的核心代码就行了 不用都复制到项目中

2011年10月08日 11:58

相关推荐

    SAP.NetConnect

    **SAP .NetConnect** 是一个关键的组件,主要用于在微软的 .NET Framework 环境下与SAP系统进行集成。它提供了丰富的接口和类库,使得开发人员能够使用C#、VB.NET等.NET语言方便地访问和操作SAP R/3或SAP NetWeaver...

    NetConnect 保持网络连接安装版

    【软件介绍】Net Connect 能够使您的网络保持连接状态的一款软件。 【特别声明】本软件的属MOKTON所有,未经准许,不得用于复制、...在使用过程中如果发现错误或其他问题,请给我发EMAIL。 【序列号】DR38-285-HSR-YQ4Q

    netConnect.zip

    标题“netConnect.zip”暗示了这是一个与网络连接相关的程序或工具,可能是用于确保计算机始终保持网络连接的小型应用程序。描述中的“开启之后可以保证一台主机一直有网。断网后会自己连。”进一步证实了这一点,它...

    一个检查是否连接Internet的程序(17KB)

    标题中的“一个检查是否连接Internet的程序”是一个小型应用程序,主要功能是检测用户的计算机是否能够成功连接到互联网。这个程序的大小为17KB,表明它是一个轻量级的工具,可能适合快速运行和便携使用。从描述中...

    amp netconnect xg fiber system

    AMP NetConnect XG Fiber System 包括多种关键组件,例如光纤电缆、连接器、配线架、跳线、光纤分配单元等,这些组件共同构成了一个完整且高效的光纤布线系统,能够满足各种网络需求,并支持从快速以太网到十吉比特...

    WM_CHAR.rar_WM CHAR_WM_CHAR _WM_NETCONNECT pudn_wm-char

    标题中的"WM_CHAR.rar_WM CHAR_WM_CHAR _WM_NETCONNECT pudn_wm-char"似乎是一个压缩包文件,其中包含了与Windows消息WM_CHAR相关的程序或代码示例。WM_CHAR是Windows消息处理系统中的一个重要消息,它在用户按下...

    wlanapi 加密和无密码连接

    【描述】"用wlanapi写的连接程序使用与xp和win7"意味着开发了一个基于WLANAPI的应用程序,该程序能够处理无线网络的连接操作。在Windows XP和Windows 7这两个不同的操作系统版本上兼容,表明了该程序具有良好的跨...

    NetConnect Chrome Extension-crx插件

    NetConnect Chrome Extension针对的是NetConnect会话,这是一个可能用于远程访问、网络管理或者安全连接的服务。通过这个插件,用户可以在Chrome浏览器中无缝地进行NetConnect相关的操作,而无需打开其他应用程序或...

    Easy netconnect library w/ DNS SRV RR-开源

    例如,在分布式系统中,当客户端需要连接到一个可能分布在不同地点的服务时,只需提供服务名,库就能自动完成DNS查询,找到最佳的服务实例,并建立连接。这减少了代码的复杂性,提高了应用程序的可维护性和可扩展性...

    从流程上对rtmp协议经行总结

    7. Connect:客户端发送一个命令消息,指定要连接的流媒体服务和应用名称,这标志着连接的开始。 8. Window Acknowledgement Size:客户端和服务器互相发送协议控制消息,定义接收窗口的大小,以管理流量控制和确认...

    从流程上对rtmp协议经行总结(V1.1)

    11. _result(netconnect.connect.success):服务器响应命令消息,表示连接成功。 12. onBWDone:服务器发送命令消息,表明带宽检测完成。 13. Window Acknowledgement Size:可能重复发送,以调整接收窗口大小。 14....

    XXX地铁综合布线系统方案书.doc

    * AMP NETCONNECT是AMP公司开发的一款开放式布线产品,具有开放式的结构、灵活的设计和高效的性能等特点。 * AMP NETCONNECT产品系列包括了多种类型的电缆和连接器件,满足不同应用场景的需求。 第四章:AMP...

    综合布线技术与施工第8章常用布线系统介绍.pptx

    综合布线技术是现代建筑和企业网络基础设施的重要组成部分,它为语音、数据、视频等多种通信服务提供了一个统一的传输平台。本章主要介绍了四种常用的结构化布线系统,分别是AVAYA SYSTIMAX、AMP NETCONNECT、MOLEX...

    C#实现简单获取扫码枪信息代码

    2. **创建Socket实例**:当网络连接成功后,创建一个`Socket`对象,设置其地址族为`AddressFamily.InterNetwork`,套接字类型为`SocketType.Stream`,协议类型为`ProtocolType.Tcp`。这表示我们将使用TCP协议进行...

    图书馆大厦综合布线整理.pdf

    这些子系统共同构成了一个全面的通信网络,能够支持语音、数据、视频等多种应用。 1. **布线标准介绍** 综合布线系统的标准主要由美国电子工业协会/电信工业协会(TIA/EIA)和国际标准化组织(ISO/IEC)制定。TIA/...

    第9章常用布线系统介绍ppt-天津电子信息职业技术学院—.pptx

    - **AMP NETCONNECT**:是另一种广泛使用的结构化布线系统。 - **MOLEX**:以其高质量的布线产品闻名。 - **IBDN**:提供高性能的网络布线解决方案。 **AVAYA SYSTIMAX 布线系统详解** 9.2.1 **AVAYA 建筑群...

    pev_kuka机器人krl通讯编程_

    一般来说,上位机会监听一个端口,而机器人则连接到这个端口发送和接收数据。 3. **数据格式**:定义数据传输的格式,如ASCII或二进制。在KRL中,你可以将数据转换为字符串或字节数组进行发送。 4. **通讯协议**:...

    JHServer游戏服务器系统开发说明.pdf

    每个服务器实例都有一个NetPeer对象,负责监听和响应网络事件,如连接请求、数据包接收和发送等。这些事件包括: - **OnAccept**:连接请求被接受时触发。 - **OnRecvEnd**:接收到数据包后触发。 - **OnSendEnd**:...

    网络互联设备之网络传输介质.ppt

    UTP的制作材料包括AMP NETCONNECT品牌的CAT 5e CABLE,这是一种超5类线材,由24AWG直径的线芯构成。AWG是美国线规单位,数值越小,线芯直径越大。此外,线材还有CM(UL)或CMG/MPG(UL)标识,表明其符合通信通用电缆...

Global site tag (gtag.js) - Google Analytics