flash +asp.net +fcs实现视频聊天
网络视频聊天交流目前很是热门,但用WEB视频就不是那么简单了。以前有两种方式可以实现 一个是用客服ACTIVE控件 二是用JAVA APP但两种都不很理想。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_s1026" style="MARGIN-TOP: -148.4pt; Z-INDEX: 251657728; MARGIN-LEFT: -90pt; WIDTH: 15pt; POSITION: absolute; HEIGHT: 15pt; mso-wrap-distance-left: 4.5pt; mso-wrap-distance-right: 4.5pt; mso-position-horizontal-relative: text; mso-position-vertical-relative: line" href="http://www.alphatom.com/../../../component/option,com_docman/task,doc_details/gid,3/" o:button="t" o:allowoverlap="f" target="_self" alt="Image" type="#_x0000_t75"><font size="3"><imagedata o:title="source" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"></imagedata><wrap type="square"></wrap></font></shape>源代码下载
网络视频聊天 交流目前很是热门 但用WEB视频就不是那么简单了 以前有两种方式可以实现 一个是用客服ACTIVE控件 二是用JAVA APP但两种都不很理想 一个是网络信号采集不能自适应带宽,二是技术上的难题 现在流行的BCHAT(碧聊用的)就是采用第一种方式,但我还是不能把控件给分离出来,网上了也没有 免费 或者商业的现成控件卖 第二个方式我就不说了,因为WIN XP以上不支持JAVA所以免谈 但是现Macromedia推出的新技术Flash Communication Server MX确很方便实现了,关于这个方面的介绍大家可以去网上找 下载测试版后有几个现成的例子,在这说说怎么利用ASPX和FLASH通信实现两个ID的交流 <shape id="_x0000_i1025" style="WIDTH: 340.5pt; HEIGHT: 259.5pt; mso-wrap-distance-left: 4.5pt; mso-wrap-distance-right: 4.5pt" alt="Image" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg" o:href="http://www.alphatom.com/images/stories/img_pictures/asp_flash_carma.jpg"></imagedata></shape>
这里发一下成品的图片 这是我是asp.net+SQL写的仿QQ的在线通信系统 功能还不错 QQ的功能在这都有了 最让我得意是终于实现了视频的功能 FLASH的视频功能是b-s-b模式 也就是在服务段会有个零时视频文件 具体代码就打包让下载好了 这个写点重点 SP.aspX
<%@Language="C#"%> <scriptrunat="server">privatevoidPage_Load(objectsender,System.EventArgse){Response.Write("conn=1&Sendid="+Session["nmd"]+"&Recvid="+Session["Recvid"]);} </script>
Cam.aspx
<%@PageLanguage="C#"%> <scriptrunat="server">privatevoidPage_Load(objectsender,System.EventArgse){Session["RecvId"]=Request.QueryString["RecvId"];} </script> <html> <head> <metahttp-equiv="Content-Language"content="zh-cn"> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"> <title>无标题文档</title> </head><bodyleftmargin="0"topmargin="0"marginwidth="0"marginheight="0"> <objectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-44553540000"
codebase= http://download.macromedia.com/pub/shockwave
/cabs/flash/swflash.cab#version=6,0,29,0width="220"height="200"><paramname="movie"value="SP.swf"><paramname="quality"value="high"><embedsrc="SP.swf"quality="high"pluginspage=
http://www.macromedia.com/go/getflashplayer
type="application/x-shockwave-flash" width="220"height="200">
</embed></object></body> </html>
SP.swf的角本 stop();
client_nc = new NetConnection();
//NetConnection.onStatus(para)用来监测server返回的信息 //当server返回的信息时,此处理器被触发 //参数是一个包含着返回信息的对象,包含着两个固定变量level和code,该参数名称可随便命名 client_nc.onStatus = function(info) {
// 利用trace功能将server返回的信息可视化 trace("Level: "+info.level+newline+"Code: "+info.code);
};
// 连接到server上,建立rtmp连接 //下面写的是相对地址,原因是我的web server和flash communication server在一台机器上 //如果你的web server和flash communication server不在一台机器上,只要满足两台机器的ip在一个域 //你就可以同样成功建立连接,可以写成client_nc.connect("rtmp:/192.168.0.1/record_video");
//record_video是文件夹的名字,该文件夹必须事先存在 //假设你是按照默认安装的communication server,那么record_video文件夹就应该放在 //C:Program FilesMacromediaFlash Communication Server MXflashcomapplications目录下面 client_nc.connect("rtmp://192.168.0.2/record_video");
// 使用SharedObject.getRemote方法,创建远程SharedObject
//"myvideo"是SharedObject文件名称,对应在server硬盘上的文件是myvideo.fso
// client_nc.uri是一个必要的参数,指向当前rtmp的连接 // 第三个是可选参数,true代表将myvideo.fso写入硬盘,false、null或者省略代表不写入,只作临时存在 rec_so = SharedObject.getRemote("myvideo", client_nc.uri, true);
//sharedobject.onSync(para)用来动态监测sharedobject的变化情况 //每当sharedobject发生变化时,此处理器被触发 //参数是一个数组,记录sharedobject.data中发生变化的内容,该参数名称可随便命名 //该数组的每个成员都是一个对象,对象又有两个成员code和name
//name代表的是发生变化的sharedobject.data里面的发生变化的内容 //code代表的是这个内容发生了什么变化,是系统返回信息 // 将sharedobject功能连接到server上 rec_so.connect(client_nc);
var Recvid;
var Sendid;
GetId();
function Recv() {
//创建新的NetStream流对象,将会用来播放留言信息 in_ns = new NetStream(client_nc);
//通过NetStream.play方法播放server上的flv文件 in_ns.play(Recvid);
mybox.attachVideo(in_ns);
}
function Send() {
this.cam = Camera.get();
this.mic = Microphone.get();
// 在client_nc连接上,创建NetStream对象 out_ns = new NetStream(client_nc);
// 通过NetStream.attachVideo方法获得摄像头的图像 out_ns.attachVideo(this.cam);
// 通过NetStream.attachAudio方法获得麦克风的声音 out_ns.attachAudio(this.mic);
out_ns.publish(Sendid, "live");
}
function GetId(){
//构造一个新的LoadVars对象 myload = new LoadVars();
//设定myload的动作,以便服务器验证 myload.action = "post";
//验证和服务器连接的函数 myload.onLoad = function(success) {
//如果和服务器成功连接则…
if (success) {
//如果验证动作成功则…
if (this.conn == "1") {
//将返回对象中的output变量赋值给场景中var为output的Dynamic Text框 _root.Recvid = this.Recvid;
_root.Sendid = this.Sendid;
Send();
Recv();
}
} else {
//如果和服务器连接不成功则返回失败消息,需要检查路径是否正确 }
};
myload.sendAndLoad("http://localhost/WEBQQ/SP.aspx", myload, "post");
}
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 340.5pt; HEIGHT: 259.5pt; mso-wrap-distance-left: 4.5pt; mso-wrap-distance-right: 4.5pt" alt="Image" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.jpg" o:href="http://www.alphatom.com/images/stories/img_pictures/asp_flash_carma.jpg"></imagedata></shape>
flash +asp.net +fcs实现视频聊天相关推荐
- 用FLASH实现WEB在线视频聊天
最近因为项目需要,要求实现像QQ一样的在线视频聊天功能.刚开始我以为这个东西一般都是在用户浏览器端安装第三方插件实现的,后来经过一翻搜索才知道用FLASH就可以解决这个问题. 先简要说明一下实现原理吧 ...
- FluorineFx + Flex视频聊天室案例开发----客户端
上一篇<FluorineFx + Flex视频聊天室案例开发----服务器端>详细的介绍了如何利用FluorineFx开发一个及时通信的视频聊天室服务器处理程序,并通过Web网站来宿主这个 ...
- FMS案例开发--视频聊天室(三)
本文要介绍的内容主要有利用SharedObject来实现聊天文字聊天和在线用户的列表,以及实现语音视频聊天等. 前一篇文章介绍了实现用户注册和登录的功能,本文接着介绍用户注册并成功登录后的相关功能开发 ...
- Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)
Flex,Fms3系列文章导航 Flex,Fms3相关文章索引 本篇是视频聊天,会议开发实例系列文章的第3篇,该系列所有文章链接如下: http://www.cnblogs.com/aierong/a ...
- 视频聊天室软件的技术标准
视频聊天室软件的技术标准 常规视频聊天软件的自定义功能及组别 可以根据自己运营的需要添加无限组别,并给不同的组别设定不同功能及图标: 自定义组别的权限,是否能踢人,是否能看密麦等: 视频聊天软件超低带 ...
- 基于web视频聊天技术归纳
本文转载于http://zhidao.baidu.com/link?url=brsWhD7CoFno5-Lojb-lpz7Vc8VeD6WPI_4Eh5cWnVdfYRUJoIGCyYCzO_J3tx ...
- 视频聊天网站的研究、发展以及趋势时间
摘要: 此文讲述了视频聊天网站相关的技术.发展过程以及未来的发展趋势.我长时间从事外包业务开发和技术开发的,从客户那里了解到了很多的视频聊天网站相关的需求,经过自己长时间对视频聊天网站运营模式.盈利模 ...
- 【转帖】视频聊天网站的研究、发展以及趋势
摘要: 此文讲述了视频聊天网站相关的技术.发展过程以及未来的发展趋势.我长时间从事外包业务开发和技术开发的,从客户那里了解到了很多的视频聊天网站相关的需求,经过自己长时间对视频聊天网站运营模式.盈利模 ...
- 视频聊天网站的技术与发展
视频聊天网站的技术与发展 摘要: 此文讲述了视频聊天网站相关的技术.发展过程.从客户那里了解到了很多的视频聊天相关的需求,经过自己长时间对视频聊天网站运营模式.盈利模式.系统架构以及相关技术的研究,写 ...
最新文章
- java filewriter_Java基础篇:什么是FileWriter
- 关于图像语义分割的总结和感悟
- Interview:算法岗位面试—10.10下午—上海某银行算法岗位(偏数据分析,四大行之一)的技术面—关于项目的考察
- C++ Opengl绘制3D源码
- 学习笔记(30):Python网络编程并发编程-Event事件
- leetcode day7
- ThinkPHP 5.1+全开源带后台商城小程序源码程序+带详细安装使用文档
- USB Server助力广汽埃安U盾远程安全管控
- android 下载instagram动态中图片的demo
- 烟雨江南暂排第一,第四届橙瓜网络文学奖入围20年十佳奇幻大神
- 纯CSS实现下雪、下雨、落叶效果
- mmdetection安装教程 | 踩坑总结
- 简明Python教程笔记(一)
- 深度学习入门笔记(十九):卷积神经网络(二)
- Rasa课程、Rasa培训、Rasa面试系列之 Rasa对话式 AI 网络研讨会回顾
- net-java-php-python-高校新生报到管理系统计算机毕业设计程序
- html5 video 隐藏全屏按钮,如何隐藏HTML5视频标签的全屏按钮?
- 如何把aac文件转换成MP3
- [转]netstat输出内容详解
- Neo4j(1):图数据库Neo4j介绍
热门文章
- 校园报修系统JAVA_基于jsp的宿舍报修系统-JavaEE实现宿舍报修系统 - java项目源码...
- php 大数相加,吉首大学第九届"新星杯"大学生程序设计大赛(示例代码)
- 一分钟告诉你DevOvs是什么
- 地层破裂压力预测方法
- 摩拜OFO单车哪家强,看他们的网站似乎发现了点什么
- 致粒屋中的虚拟产品有那些,IT老湿和大家聊聊
- mediasoup 学习笔记 【二】Router 房间
- VIPS算法对搜索引擎的意义[转载]
- wifi不可靠 无线局域网八大安全困惑
- 天刀手游测试服服务器维护中,天涯明月刀手游测试服(天涯服)