文件1、
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FF7999, #FE7F9D]" height="576">
<mx:Panel x="102" y="86" width="340" height="282" layout="absolute" title="视频发布端">
<mx:VideoDisplay x="0" y="0" width="320" height="240" id="PublishVideo"/>
</mx:Panel>
<mx:Panel x="497" y="86" width="340" height="282" layout="absolute" title="视频接收端" id="playPan">
<mx:VideoDisplay x="0" y="0" width="320" height="240" id="RecordVideo" />
</mx:Panel>
<mx:Button x="243" y="387" label="发布视频" fontWeight="normal" click="onPublishClick()"/>
<mx:Button x="627" y="387" label="接收视频" fontWeight="normal" click="onRecordClik()"/>
<mx:Script>
<![CDATA[
import flash.events.*;
private var pnc:NetConnection;
private var rnc:NetConnection;
private var pns:NetStream; //发布流
private var rns:NetStream;
private var cam:Camera;
private var mic:Microphone;
private var video:Video;
private function onPublishClick():void
{
pnc = new NetConnection();
pnc.connect("rtmp://192.168.10.135/p2p/mem88/");
pnc.addEventListener(NetStatusEvent.NET_STATUS,onPublishNetStatusHandler);
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
this.PublishVideo.attachCamera(cam);
}
private function onPublishNetStatusHandler(evt:NetStatusEvent):void
{
this.lbPublish.text=evt.info.code;
if(evt.info.code=="NetConnection.Connect.Success")
{
pns = new NetStream(pnc);
pns.attachAudio(mic);
pns.attachCamera(cam);
pns.client=this;
pns.publish("88stream","live");
}
}
private function onRecordClik():void
{
rnc = new NetConnection();
rnc.connect("rtmp://192.168.10.135/p2p/mem135/");
rnc.addEventListener(NetStatusEvent.NET_STATUS,onReordNetStatusHandler);
}
private function onReordNetStatusHandler(evt:NetStatusEvent):void
{
this.lbRecord.text=evt.info.code;
if(evt.info.code=="NetConnection.Connect.Success")
{
rns = new NetStream(rnc);
rns.client=this;
video = new Video();
video.width=320;
video.height=240;
video.attachNetStream(rns);
this.RecordVideo.addChild(video);
rns.play("135stream","live"); //这里的publishName必须与发布流的流名一致
}
}
]]>
</mx:Script>
<mx:Label x="125" y="443" width="304" id="lbPublish"/>
<mx:Label x="528" y="443" width="296" id="lbRecord"/>
</mx:Application>
2、文件2
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FF7999, #FE7F9D]" height="576">
<mx:Panel x="102" y="86" width="340" height="282" layout="absolute" title="视频发布端">
<mx:VideoDisplay x="0" y="0" width="320" height="240" id="PublishVideo"/>
</mx:Panel>
<mx:Panel x="497" y="86" width="340" height="282" layout="absolute" title="视频接收端" id="playPan">
<mx:VideoDisplay x="0" y="0" width="320" height="240" id="RecordVideo" />
</mx:Panel>
<mx:Button x="243" y="387" label="发布视频" fontWeight="normal" click="onPublishClick()"/>
<mx:Button x="627" y="387" label="接收视频" fontWeight="normal" click="onRecordClik()"/>
<mx:Script>
<![CDATA[
import flash.events.*;
private var pnc:NetConnection;
private var rnc:NetConnection;
private var pns:NetStream; //发布流
private var rns:NetStream;
private var cam:Camera;
private var mic:Microphone;
private var video:Video;
private function onPublishClick():void
{
pnc = new NetConnection();
pnc.connect("rtmp://192.168.10.135/p2p/mem135/");
pnc.addEventListener(NetStatusEvent.NET_STATUS,onPublishNetStatusHandler);
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
this.PublishVideo.attachCamera(cam);
}
private function onPublishNetStatusHandler(evt:NetStatusEvent):void
{
this.lbPublish.text=evt.info.code;
if(evt.info.code=="NetConnection.Connect.Success")
{
pns = new NetStream(pnc);
pns.attachAudio(mic);
pns.attachCamera(cam);
pns.client=this;
pns.publish("135stream","live");
}
}
private function onRecordClik():void
{
rnc = new NetConnection();
rnc.connect("rtmp://192.168.10.135/p2p/mem88/");
rnc.addEventListener(NetStatusEvent.NET_STATUS,onReordNetStatusHandler);
}
private function onReordNetStatusHandler(evt:NetStatusEvent):void
{
this.lbRecord.text=evt.info.code;
if(evt.info.code=="NetConnection.Connect.Success")
{
rns = new NetStream(rnc);
rns.client=this;
video = new Video();
video.width=320;
video.height=240;
video.attachNetStream(rns);
this.RecordVideo.addChild(video);
rns.play("88stream","live"); //这里的publishName必须与发布流的流名一致
}
}
]]>
</mx:Script>
<mx:Label x="125" y="443" width="304" id="lbPublish"/>
<mx:Label x="528" y="443" width="296" id="lbRecord"/>
</mx:Application>
分享到:
相关推荐
c++开发一个简易视频聊天软件,但是遇到了一些问题,很难解决的。希望有同道中人可以指点迷津啊
课程设计基于Qt制作一个简易聊天软件c++源码(含操作视频+设计报告).zip课程设计基于Qt制作一个简易聊天软件c++源码(含操作视频+设计报告).zip课程设计基于Qt制作一个简易聊天软件c++源码(含操作视频+设计报告).zip...
安卓Android基于Socket简易聊天项目开发(源码+运行截图+视频).zip 内容概要:安卓Android基于Socket简易聊天项目开发(源码+运行截图+视频).zip 适合人群:具备一定编程基础,准备毕业设计的同学 能学到什么:①如何...
在IT行业中,聊天室是一种常见的实时通讯应用,它允许用户之间进行实时的文字、语音或者视频交流。通过这个项目,你将有机会实践使用Java语言开发聊天室的相关技术。 【描述】:“一款简单的聊天室代码,可以用来...
【简易聊天程序(而且可以画图)】 这个项目是一个简易的聊天程序,它不仅支持基本的文字交流,还具有画图功能,使得用户可以在聊天过程中进行简单的图像创作和分享。这样的设计使得通信更具趣味性和互动性,类似于...
HTML5基于websocket的仿微信聊天,即时聊天IM前后端实现,简易聊天室源代码分享HTML5基于websocket的仿微信聊天,即时聊天IM前后端实现,简易聊天室源代码分享HTML5基于websocket的仿微信聊天,即时聊天IM前后端实现...
而对于功能的需求,针对所要开发的软件,主要是文本聊天、文件传输、视频聊天和电脑桌面实时发送的功能。用户首先根据需要连接的对象确定对方的IP地址和需要进行连接的端口号。服务器在开启侦听并接收到连接请求之后...
VB.NET网络视频聊天室源码是一个基于Visual Basic .NET(VB.NET)开发的项目,它实现了在线视频和音频通信的功能,适用于创建实时互动的聊天环境。这个源码提供了一个研究和学习网络通信、多媒体处理以及多用户交互...
【实用简易聊天工具资源】是本文将要探讨的重点,它是一款受到用户好评并值得推荐的聊天工具。在当今数字化时代,沟通与协作的重要性不言而喻,因此一款易用、功能丰富的聊天工具对于个人和团队来说都至关重要。下面...
在本文中,我们将深入探讨如何使用JavaScript、socket.io、WebRTC、Node.js和Express搭建一个简易版的远程视频聊天应用。这些技术都是现代Web开发中的关键组件,它们各自扮演着不同的角色,共同构建出实时、低延迟的...
【简易JAVA聊天小工具】是一个非常适合初学者学习和探索的项目,它展示了如何利用Java语言构建一个基础的聊天应用程序。这个小工具的核心是基于UDP(用户数据报协议)实现的,因此我们可以从中学习到关于网络编程和...
【标题】"简易聊天室flash多人聊天 FMS实现"揭示了这个项目的核心是构建一个基于Flash的多人在线聊天系统,采用FMS(Flash Media Server)作为后台技术来实现实时的通信功能。Flash是一种广泛应用于网页上的多媒体...
【标题】:“一个简易的聊天系统” 这个标题表明我们讨论的是一个基于Java编程语言实现的...同时,它也可以作为一个起点,为开发者提供进一步扩展和定制聊天系统的可能性,例如添加语音和视频聊天、文件传输等功能。
《简易网络聊天管理系统详解》 网络聊天管理系统是一种基于网络通信技术实现的互动平台,它使得用户可以跨越地域限制,实现实时的文本、语音甚至视频交流。本系统以简易为设计核心,旨在提供一个基本的网络聊天环境...
2. **网络聊天室**:网络聊天室是互联网上提供实时交流的平台,用户可以通过文字、语音、视频等多种方式沟通。它需要解决并发处理、实时性、稳定性等问题,以确保多用户同时在线时的良好体验。 3. **实时通信**:...
【标题】基于Java GUI界面的简易Netty聊天室实现了群聊和私聊功能,通过集成FastJSON库处理JSON格式的数据编码与解码。这个项目旨在为用户提供一个简单易用的聊天平台,用户可以通过图形化界面进行实时通信。下面将...
自己照着视频做的简易聊天室,比较简单,供大家参考
在本项目中,我们关注的是一个简易的Web聊天系统,它提供了一系列基本的在线交流功能。这个系统的设计和实现旨在创建一个用户友好的界面,使用户能够方便地进行实时沟通。下面将详细介绍这个Web聊天系统的主要特点和...
【基于Web的简易聊天室】是一种在线交流平台,利用Web技术实现用户间的实时通信,包括文字、语音和视频等多种交互方式。在这个系统中,用户无需安装任何客户端软件,只需要通过浏览器即可进入聊天室进行沟通,大大...
【Java简易聊天系统】是一个基于Java的网络编程项目,主要用于教授和实践Socket编程以及图形用户界面(GUI)设计。...同时,这个系统也为进一步扩展功能,如添加语音/视频聊天、文件传输等提供了基础。