AS 2.0 + FMS 视频语音聊天室(源码)
时间:2009-12-03
来源:互联网
源文件已发,里面写的很详细,我在这里就不一一说明了。
好东西要分享,希望对需要的朋友能有所帮助。
付出之后小弟要请教大家问题了。
事情是这样子的,我们都知道,AS+FMS实现语音视频的原理是:
用户1往FMS服务器上发送视频流,FMS服务器接收并临时存储,用户2请求FMS服务器接收视频流并显示在屏幕上。
我想做的是:比如用户1发送一个名字为mov的视频流,用户二读取mov的时候做一个判断,如果FMS服务器里没有名为MOV的视频流,就提示一句话:
trace("傻子偷乞丐的钱包,被瞎子看到了,哑巴大吼一声,把聋子吓了一跳,驼子挺身而出,瘸子飞起一脚,通辑犯要拉ta去公安局,麻子说,看wo的面子算了。");

这个问题困扰我好几个小时了,希望有知道的朋友活动下手腕,帮帮忙。
[ 本帖最后由 waliwang 于 2009-12-3 13:04 编辑 ]
附件

2009-12-3 12:59, 下载次数: 670
作者: waliwang 发布时间: 2009-12-03
FMS你们用正版么?感觉太贵了。
增加个问题,呵呵
Red5是不是不支持 H.264 呢?
作者: ever5u 发布时间: 2009-12-03
作者: waliwang 发布时间: 2009-12-03
作者: waliwang 发布时间: 2009-12-03
作者: waliwang 发布时间: 2009-12-03
作者: waliwang 发布时间: 2009-12-05
作者: brad12 发布时间: 2009-12-08
VideoError.NO_CONNECTION 指示该方法无法连接到服务器或者无法找到服务器上的 FLV 文件。
mx.video.VideoError
VideoError 类的属性允许您对使用 FLVPlayback 组件时出现的错误条件进行诊断。
mx.video.VideoError 类扩展 Error 类。
如果你不使用组键而用自己写的连接的话
nc = new NetConnection();
nc.connect("rtmp://"+host+"/"+dir+"/"+name);
//---------------------------显示连接状态---------------------------//
nc.onStatus = function(info) {
if (info.code == "NetConnection.Call.Failed") {
trace("连接状态: "+info.code);
trace("NetConnection.call方法调用服务器端的方法或命令失败");
} else if (info.code == "NetConnection.Connect.AppShutdown") {
trace("连接状态: "+info.code);
trace("服务器端应用程序已经关闭(由于资源耗用过大等原因)或者服务器已经关闭");
} else if (info.code == "NetConnection.Connect.Closed") {
trace("连接状态: "+info.code);
trace("连接中断");
} else if (info.code == "NetConnection.Connect.Failed") {
trace("连接状态: "+info.code);
trace("连接失败");
} else if (info.code == "NetConnection.Connect.InvalidApp") {
trace("连接状态: "+info.code);
trace("指定的应用程序名称没有找到");
} else if (info.code == "NetConnection.Connect.Rejected") {
trace("连接状态: "+info.code);
trace("连接被拒绝");
} else if (info.code == "NetConnection.Connect.Success") {
trace("连接状态: "+info.code);
trace("连接成功");
}
};
//---------------------------容错判断---------------------------//
in_ns.onStatus = function(info) {
if (info.code == "NetStream.Buffer.Full") {
trace("播放状态: "+info.code);
trace("缓冲区已满");
//开始播放了
} else if (info.code == "NetStream.Buffer.Empty") {
trace("播放状态: "+info.code);
trace("数据缓冲区为空");
} else if (info.code == "NetStream.Failed") {
trace("播放状态: "+info.code);
trace("传输中有错误发生");
} else if (info.code == "NetStream.Pause.Notify") {
trace("播放状态: "+info.code);
trace("播放暂停");
} else if (info.code == "NetStream.Play.Failed") {
trace("播放状态: "+info.code);
trace("播放出错");
//严重错误
} else if (info.code == "NetStream.Play.PublishNotify") {
trace("播放状态: "+info.code);
trace("发布开始,信息已经发送到所有订阅者");
} else if (info.code == "NetStream.Play.Reset") {
trace("播放状态: "+info.code);
trace("播放列表重置");
} else if (info.code == "NetStream.Play.Start") {
trace("播放状态: "+info.code);
trace("播放开始");
} else if (info.code == "NetStream.Play.Stop") {
trace("播放状态: "+info.code);
trace("播放停止");
} else if (info.code == "NetStream.Play.StreamNotFound") {
trace("播放状态: "+info.code);
trace("播放的实时流或文件不存在");
} else if (info.code == "NetStream.Play.UnpublishNotify") {
trace("播放状态: "+info.code);
trace("发布停止,信息已经发送到所有订阅者");
} else if (info.code == "NetStream.Publish.BadName") {
trace("播放状态: "+info.code);
trace("发布的数据流已经被发布");
} else if (info.code == "NetStream.Publish.Idle") {
trace("播放状态: "+info.code);
trace("发布者闲置过长");
//严重错误
} else if (info.code == "NetStream.Publish.Start") {
trace("播放状态: "+info.code);
trace("发布开始");
} else if (info.code == "NetStream.Record.Failed") {
trace("播放状态: "+info.code);
trace("录制文件出错");
//严重错误
} else if (info.code == "NetStream.Record.NoAccess") {
trace("播放状态: "+info.code);
trace("没有足够的文件访问权限");
//严重错误
} else if (info.code == "NetStream.Record.Start") {
trace("播放状态: "+info.code);
trace("文件录制开始");
} else if (info.code == "NetStream.Record.Stop") {
trace("播放状态: "+info.code);
trace("录制暂停");
} else if (info.code == "NetStream.Seek.Failed") {
trace("播放状态: "+info.code);
trace("数据流定位出错");
} else if (info.code == "NetStream.Seek.Notify") {
trace("播放状态: "+info.code);
trace("数据搜索定位成功");
} else if (info.code == "NetStream.Unpause.Notify") {
trace("播放状态: "+info.code);
trace("恢复播放");
} else if (info.code == "NetStream.Unpublish.Success") {
trace("播放状态: "+info.code);
trace("停止发布");
}
};
作者: moonsun 发布时间: 2009-12-09
我把你可能会遇到的情况都给你列出来了。
作者: moonsun 发布时间: 2009-12-09
引用:
原帖由 ever5u 于 2009-12-3 13:06 发表FMS 不了解,不过很感谢你的共享。
FMS你们用正版么?感觉太贵了。
增加个问题,呵呵
Red5是不是不支持 H.264 呢?
作者: catfly 发布时间: 2009-12-09
引用:
原帖由 moonsun 于 2009-12-9 14:16 发表分享自己成果的人就可以得到最别人最用心的帮助。
我把你可能会遇到的情况都给你列出来了。
作者: catfly 发布时间: 2009-12-09
引用:
原帖由 moonsun 于 2009-12-9 14:13 发表1000: Unable to make connection to server or to find FLV on server
VideoError.NO_CONNECTION 指示该方法无法连接到服务器或者无法找到服务器上的 FLV 文件。
mx.video.VideoError
VideoError 类的属性允 ...
作者: maxwen 发布时间: 2009-12-10
引用:
原帖由 moonsun 于 2009-12-9 14:13 发表1000: Unable to make connection to server or to find FLV on server
VideoError.NO_CONNECTION 指示该方法无法连接到服务器或者无法找到服务器上的 FLV 文件。
mx.video.VideoError
VideoError 类的属性允 ...
作者: waliwang 发布时间: 2009-12-16
作者: menuhinlove 发布时间: 2009-12-16
引用:
原帖由 menuhinlove 于 2009-12-16 17:53 发表这么多IF。能简写下啊。?
作者: waliwang 发布时间: 2009-12-17
引用:
原帖由 menuhinlove 于 2009-12-16 17:53 发表这么多IF。能简写下啊。?
作者: waliwang 发布时间: 2009-12-17
作者: sunlingjun 发布时间: 2010-03-04
作者: jieyancai 发布时间: 2010-04-07
作者: fjamo2 发布时间: 2010-04-26
作者: yunwpu 发布时间: 2010-06-05
作者: cjyyj 发布时间: 2010-06-05
作者: weimingyushi 发布时间: 2010-06-08
顶了!
作者: hsrzq 发布时间: 2010-06-08
作者: wangchungui 发布时间: 2010-06-18

作者: moonsun 发布时间: 2010-06-20
作者: yxq200 发布时间: 2010-06-25
作者: qp3db 发布时间: 2010-07-06
作者: 8a112 发布时间: 2010-08-31
作者: szera 发布时间: 2010-09-01
作者: anndyht 发布时间: 2010-09-02
请高手们答一个!感谢!
作者: 8a112 发布时间: 2010-09-05
作者: chh1203 发布时间: 2010-09-23

作者: yinghui46 发布时间: 2010-10-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28