flashcom聊天对话怎样实现踢人动作

本文介绍了一种在线会议系统的管理模式,包括发言模式和论坛模式,并详细解释了两种模式下主持人如何控制会议,例如给予或取消用户的发言权限,以及将参会者请出会议室的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


                              建立会议的时候有两种模式, 发言模式 和 论坛模式
                              发言模式是指,只有一个人可以发言,由主持人控制。其他人可以向主持人申请发言。
                              论坛模式是指,所有人都可以自由发言,但主持人可以控制,禁止发言。
                              主持人可以把非会议参加人请出会议室。
                              一般用户可以除了主持人屏蔽任何用户的发言(声音和文字),屏蔽视频图像
                              实现:
                              判断会议模式
                              为发言模式时,
                              shareobjects.send("stopPhone",null);
                              //在所有客户端执行stopPhone,禁用所有用户的Mic。
                              为论坛模式
                              shareobjects.send("activePhone",null);
                              //在所有客户端执行stopPhone,启用用所有用户的Mic。
                              当主持人在参加会议人员的列表上,选中用户时,右键弹出操作菜单,请出会议室 |
                              给麦克风(会议模式)/(禁止发言,论坛模式)
                              请出会议室:
                              function kickout()
                              {
                              nc.call("SendAction",null,"/kick
                              "+selectusername); //调用服务端函数SendAction
                              }
                              给麦克风:
                              function GivePhone (){
                              //选出 //GivePhone的对象和当前用户一致,则给麦克风否则不给
                              //选中的用户等于当前用户
                              if(_root.peoplelist_mc.people_lb.selectedItem.data.userName==user.userName)

                              {
                              _root.users_so.send("activePhone",null,user.userName);

                              }
                              else
                              {
                              _root.users_so.send("stopPhone",null,user.userName);

                              }
                              }
                              this.users_so.stopPhone=function(username)
                              {
                              trace("管理员把话筒移交给"+username);
                              }
                              this.users_so.activePhone=function(username)
                              {
                              trace("管理员把话筒移交给你");
                              }
                              服务端函数SendAction
                              FCPeopleList.prototype.SendAction =
                              function(client,mesg) {
                              var cglobal = this.getClientGlobalStorage(client);

                              //语法格式 SendAction("/kick username")
                              if (mesg.substr(0,5) == "/kick") {
                              trace("kick called!");
                              var usernameToKick = mesg.substr(mesg.indexOf("
                              ")+1); 
                              for (var i=0; i<application.clients.length; i++) {

                              if (application.clients.user.userName ==
                              usernameToKick) {
                              trace("disconnecting "+application.clients.user);
                              //在屏幕上显示某人被请出会议室,原因是...
                              var clocal =
                              this.getClientGlobalStorage(application.clients);
                              application.disconnect(application.clients);
                              this.users_so.setProperty(clocal.id, null);
                              this.releaseLocalStorage(application.clients);
                              //把此用户从系列相关的东西中干掉
                              break;
                              }
                              }
                              return;
                              }
                              /*
                              //在管理员的SWF那边搞个
                              TiRen = function(USERNAME){
                              CONN = new NetConnection();
                              CONN.Call("TR",null,USERNAME);
                              }
                              //服务器端main.asc在

                              application.OnConnect = function(newclient){
                              newclient.TR = function(USERNAME){
                              application.disconnect( SELECTClient(USERNAME) );
                              }
                              }
                              //根据USERNAME找到client对象
                              SELECTClient(USERNAME){
                              return Client对象;
                              }
                              //============
                              //这样的话,你只要在客户端想踢谁就踢谁了。
                              只要调用一下TiRen(被提的人的USERNAME)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游鱼_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值