FMS视频聊天室的开发
FMS视频聊天室的开发
2009年06月07日
由于FLASH技术的发展,
FLASH对本地P2P的支持,越来越进这就出现了FMS FLASH视频聊天室的开发。
flash聊天室,fms聊天室源码
一,首先我们要准备软件
1.Flash Media Server 2 (就是大家常说的FMS,以前的版本叫FCM)
2.Macromedia Flash
二,安装FMS(一般默认安装就可以了)
我们要制作聊天室 除了制作软件和运行环境外,还需要一个服务器端文件,来接受和处理客户端(swf),发出的请求.一般运行的服务器端脚本放在 C:\Program Files\Macromedia\Flash Media Server 2\applications 目录下.
三.编写服务器端脚本
首先,我们先在 C:\Program Files\Macromedia\Flash Media Server 2\applications 建立一个文件夹
chat 然后在这个文件夹内 创建一个文本文件 然后改名为 main.asc (注意后缀名也要改哦!)
用flash打开 main.asc 我们开始编写代码
application.onAppStart = function() {
trace("onAppStart");
};
application.onConnect = function(client, uName) {
trace("onConnect = "+uName);
client.UserName = uName;
application.acceptConnection(client);
//有人登陆
hellomsg="系统信息:"+client.UserName+": 进入聊天室
";
application.broadcastMsg("showmsg",hellomsg)
//接收客户端传来的数据 (跟客户端的 client_nc.call 相对应)
client.sendmsg = function(msg) {
mesg = ""+client.UserName+": "+msg+"
";
//发送给客户端数据 (跟客户端的 chat_so.showmsg 相对应)
application.broadcastMsg("showmsg",mesg)
};
};
application.onDisconnect = function(client) {
trace("onDisconnect ="+client.UserName);
//有人离开
hellomsg="系统信息:"+client.UserName+": 离开聊天室
";
application.broadcastMsg("showmsg",hellomsg)
};
application.onAppStop = function() {
trace("onAppStop");
};
四.制作客户端文件
用flash新建立一个文件,然后编写代码如下 (只有主要代码,其它的代码请看源文件)
client_nc = new NetConnection();
client_nc.onStatus = function(info) {
if (info.code == "NetConnection.Connect.Success") {
//trace("连接成功"+info.level);
} else if (info.code == "NetConnection.Connect.Closed") {
//trace("已经离开"+info.level);
} else if (info.code == "NetConnection.Connect.Failed") {
//trace("连接失败"+info.level);
}
trace("info.code="+info.code);
trace("info.level="+info.level);
};
//我们在 服务器端 applications 建立的文件夹 为 chat 所以连接服务器地址为 rtmp:/chat
//如果是远程服务器 写法为 rtmp://www.stonemx.com/chat
client_nc.connect("rtmp:/chat", _global.ChatUserName);
//接收服务器端传来的数据 (跟服务器端的 aapplication.broadcastMsg 相对应)
client_nc.showmsg = function(msg) {
txtChat.text += msg;
};
btSend.onRelease = function() {
if (txtInput.text != "") {
//把要说的话发送给服务器 (跟服务器端的 client.sendmsg 相对应)
client_nc.call("sendmsg", null, txtInput.text);
txtInput.text = "";
}
};
好了到这里已经制作完成,你可以打开两个swf 然后看看效果 :)
源文件下载:
fms聊天室源码UploadFiles/2007-5/515538378.rar
--------------------------------------------------------------------------------------------------------------
为了完成公司新项目:用FMS+php做视频聊天。所以最近半个月一直在努力学习FMS,在这之前做了5年的flash动画,也编过一些复杂的AS程序,但是弄FMS还是第一次,所以就借着这个机会与新手菜鸟们一起分享我的学习经验,也请老手们多评价,在架设FMS服务器的时候需要注意哪些问题,为大家指点迷津。下面就开始:
用FlashMediaServer2做为我的学习阶段使用的服务器,用flash。PHP+MYSQL+APACHE在这里先不提了,等在以后做聊天程序的时候再详细说明。今天就先弄第一个简单的application,实现flash在本地读取摄像头,并且publish到服务器,通过服务器再显示到本地。
1、安装FlashMediaServer2,可以到http://www.flashcom.com.cn/bbs/showthread.php?t=413 这个帖子下载。安装过程中需要输入name和password(记住哈),下一步是服务器的端口(1935),和管理员管理服务器的端口(1111),默认就可以了,到这里最好再做一件事情,在防火墙中把这两个端口打开,为了以后方便。下一步安装目录默认,安装结束。
2、找到C:\Program Files\Macromedia\Flash Media Server 2\applications ,新建文件夹,取名字为myfirstApp,在myfirstApp里新建main.asc文件,在里边写上load("components.asc");就可以了。
3、在「开始」菜单\程序\Flash Media Server 2里,分别启动Start Flash Media Admin Server 2和Start Flash Media Server 2之后,点击Management Console.lnk,此时弹出的就是Media Server 2的管理程序。输入serverName:akins,Server Address:127.0.0.1,username password。登陆后,在程序左下方有个New Instance...,点击后向上弹出菜单,点击myfirstApp。这个就是在第2部我们建立的application。
4、在D:\Project下新建文件:test_060304.fla,拉入2个video组件,分别起名字为local_video和server_video。在帧上写上如下代码:
var client_cam:Camera = Camera.get();//获取摄像头
client_cam.setMode(176, 144, 20);//三个参数分别为摄像头捕捉的宽度高度帧率
client_cam.setQuality(57000, 1);//设置带宽和质量
local_video.attachVideo(client_cam);//向本地local_video添加摄像头图像
_global.Username="akins";
doConnect();
publishMe();
playMe(_global.Username);
function doConnect() {
client_nc = new NetConnection();//建立连接对象
client_nc.onStatus = function(info) {
trace("Level: "+info.level+newline+"Code: "+info.code);
};
client_nc.connect("rtmp://127.0.0.1/myfirstApp");
out_ns = new NetStream(client_nc);
in_ns = new NetStream(client_nc);
}
function publishMe() {
out_ns.attachVideo(client_cam);
out_ns.publish(_global.Username);
}
function playMe(toPlay) {
server_video.attachVideo(in_ns);
in_ns.play(toPlay);
}
Ctrl+Enter发布,完成。
附件是客户端的例子,由于也是初学,希望在这里和大家一起探讨交流。
客户端例子:http://www.flashcom.com.cn/bbs/attachment.php?attachmentid=140&d=1141455295
FMS视频聊天室的开发相关推荐
- FluorineFx + Flex视频聊天室案例开发----客户端
上一篇<FluorineFx + Flex视频聊天室案例开发----服务器端>详细的介绍了如何利用FluorineFx开发一个及时通信的视频聊天室服务器处理程序,并通过Web网站来宿主这个 ...
- Flex与.NET互操作(十六):FluorineFx + Flex视频聊天室案例开发
本文将使用FluorineFx和Flex结合介绍一个简单的视频聊天室案例开发,希望通过此篇和大家交流FluorineFx和Flex的相关技术,同时也希望本篇可以帮助到需要使用FluorineFx做及时 ...
- 网络视频聊天室的开发指南
目前网上视频聊天室.视频会议软件.可视IP电话软件随处可见,你是否想自己做一个玩玩?其实这类软件无非是视频加上网络而建成的.如果熟悉视频捕 捉和网络传输技术,根本就难不倒你.本文详细介绍了如何利用别人 ...
- FMS案例开发--视频聊天室(三)
本文要介绍的内容主要有利用SharedObject来实现聊天文字聊天和在线用户的列表,以及实现语音视频聊天等. 前一篇文章介绍了实现用户注册和登录的功能,本文接着介绍用户注册并成功登录后的相关功能开发 ...
- 独家揭秘语音视频聊天室开发顶尖制作教程
互联网的不断发展,各种新技术的兴起,原本做管理软件 的我也逐渐转向从事着互联网相关的运营产品的开发.尤其是目前抄得最火热的音视频互动平台技术,今天我先列出最基本开发流程,适用于开发视频会议系统.语音视 ...
- 即时通讯 音视频聊天室开发建议
目前网上视频聊天室.视频会议软件.可视IP电话软件随处可见,你是否想自己做一个玩玩?其实这类软件无非是视频加上网络而建成的.如果熟悉视频捕 捉和网络传输技术,根本就难不倒你.本文详细介绍了如何利用别人 ...
- 网页的视频聊天室开发
现在网上很多朋友在弄网页的视频聊天室 通过学习,我自己也做了个简单的小例子,几十行JavaScript脚本就能轻松实现视频通话:也不用去下载指定的什么浏览器,因为IE.firefox.chrome等w ...
- 多人私密视频直播会议聊天室系统开发
多人视频直播会议聊天室系统开发 轻便小巧无须安装 绑定公号无须登录 界面简洁操作方便 权限管理避免白嫖 前端/ 会议设置 用户可以设置姓名 管理员可以修改会议主题和分享说明文字 多人视频 左上显示用户 ...
- 视频聊天室软件的技术标准
视频聊天室软件的技术标准 常规视频聊天软件的自定义功能及组别 可以根据自己运营的需要添加无限组别,并给不同的组别设定不同功能及图标: 自定义组别的权限,是否能踢人,是否能看密麦等: 视频聊天软件超低带 ...
最新文章
- toolbar.netcraft.com查询域名等信息
- zoj 1438 - Asteroids!
- SharePoint 2007 系列(12) SharePoint Master Page
- Python 调用shell脚本
- Android开发二 什么是Android
- 清除string内容_python爬取哔哩哔哩网页弹幕内容,并将爬取的内容以五角星的形式显示出来...
- matlab工程计算及应用 课程名称,《 MATLAB 工程计算及应用》教学大纲课程名称MATLAB 工程计算及应用.pdf...
- java——springmvc——注册中央调度器
- 双机热备份VRRP当接入方式为PPPOE拨号的图文教程
- go调用python脚本_谁能取代Python?我使用Go来部署机器学习模型的原因
- JavaScript中值类型与引用类型
- python绘制国际象棋规则口诀_用Python编写一个国际象棋AI程序
- NASA-TLX (Task Load Index)量表学习总结
- 光遇自动弹琴脚本代码_光遇自动弹琴脚本
- 视频教程-备战2020毕业季—毕业设计论文实战课程讲解-.NET
- 如何解决windows资源管理器已停止工作?两种方法教会你
- 流程:论文发表的流程
- 阿里巴巴宣布5.4亿战略投资中国万网==互联网电子商务绑定互联网基础服务为手机电子商务开拓铺路...
- node.js文件加密
- 通过百度地图api实现简单经纬度输入定位(安卓端)
热门文章
- Android判断手机号格式邮箱格式
- Q-learning算法辅助求解柔性作业车间调度问题--附带源码测试集模型
- 以玄字设计的logo
- Solid-state revolution: in-depth on how SSDs really work
- sdwebimage 加载webp图片
- Avalon总线(一)Avalon-MM Signals
- 戴尔灵越16Plus 2022款怎么样?测评值得买吗?详细性能点评
- lcd显示屏c语言程序设计,基于单片机的LCD显示器控制的设计.doc
- Opengl复习笔记(三)—— 粒子效果和文字【内含代码】
- 比武招亲(上)(lucas定理, 逆元, 组合数)