设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4000|回复: 2
打印 上一主题 下一主题

关于切换发言人后前一发言人声音取消请求无效的问题?

[复制链接]

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
跳转到指定楼层
楼主
发表于 2014-4-28 17:21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
版主:
   你好!
   我们再使用anychat Web SDK最新版本进行视频会议系统开发中遇到如下问题:

在切换发言人后,新发言人的视频和声音都切换过来了,但是,之前的发言人的声音没有能够关闭,导致的效果就是,只要前面发过言的人
后面再切换新发言人后,大家都还是能听到他说话(只是看不到他的视频了),就像多人聊天一样,只是只能看到最后一个发言人的视频而已,
这与我们的业务逻辑不吻合,我们需要切换发言人后,全场只能看到该发言人视频,只能听到该发言人的声音,而现在是能听到所有曾经发过言的人的
声音。

在我的代码逻辑中是对之前发言人的声音执行了取消请求的逻辑处理,但是好像没有生效,下面是我的代码逻辑:

//请求发言人音频视频
function requestSpeakerVideo(speakerid)
{
        if(speakerid!=-1)
        {
                // 判断是否需要取消对之前发言人音视频数据的请求
                if (mTargetUserId != -1) {
                        alert(mTargetUserId);
                    BRAC_UserCameraControl(mTargetUserId, 0);
                    BRAC_UserSpeakControl(mTargetUserId, 0);
                }   
                mTargetUserId = speakerid;                                
                BRAC_UserCameraControl(speakerid, 1);                 // 请求对方视频
                BRAC_UserSpeakControl(speakerid, 1);                 // 请求对方语音
                //设置远程视频显示位置
                BRAC_SetVideoPos(speakerid, GetID("AnyChatRemoteVideoDiv"), "SpeakerVideo");
                GetID("SpeakerVideo").SetBkImage(BASE_URL+"/img[img]file:///C:/Users/ADMINI~1/AppData/Local/Temp/[LC3U)F%7B0XCAB)LKNIT0K@G.gif[/img]ideo_icon.jpg");//更换背景图片
               
                if(mSelfUserId==mTargetUserId)  //如果发言人为本地用户则本地视频不显示
                {
                        BRAC_SetVideoPos(0, GetID("AnyChatLocalVideoDiv"), "LocalVideo");
                        //如果自己被设置为发言人则禁用自己的申请发言按钮
                        $("#apply_speak_btn").addClass("apply_speak_forbidden_btn");
                }else
                {
                        if(!LocalVideoIsShow()) //如果本地视频无显示
                        {
                                BRAC_SetVideoPos(mSelfUserId, GetID("AnyChatLocalVideoDiv"), "LocalVideo");
                        }
                        //如果非自己被设置为发言人则激活自己的申请发言按钮
                        $("#apply_speak_btn").addClass("apply_speak_btn");
                }
               
         }
}
请问是什么原因?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
沙发
发表于 2014-4-28 17:40:50 | 只看该作者
您好,在我们标准demo上面也是这样吗?运行www.anychat.cn/web看看,切换房间中的用户列表
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9075

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9075
板凳
发表于 2014-4-28 20:58:47 | 只看该作者
您好!
在切换发言人后,新发言人的视频和声音都切换过来了,但是,之前的发言人的声音没有能够关闭

通常来说,如果对方的声音没有关闭,则可能是BRAC_UserSpeakControl(otheruserid, 0)没有调用,或是调用参数(如userid)传递有误造成的。

建议这样排查问题原因:出现问题之后,分析插件安装目录下(默认为:c:\program files(x86)\bairuitech\anychatweb)的日志文件:BRAnyChatCore.log,分析一下里面记录的api调用逻辑、参数是否正常。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-4-26 13:37 , Processed in 0.107448 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表