设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

anyChatWeb SDK中请求用户的音频视频数据遇到如下问题?

[复制链接]

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
跳转到指定楼层
楼主
发表于 2014-4-4 17:07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
版主:
     你好!
     在使用anyChatWeb SDK的过程中遇到如下问题,请问是什么愿意,如何解决?

下面是我的相关代码

var mSelfUserId=1;      //本地用户ID
var mChairManUserId=1;  //主持人ID
var mSpeakerUserId=1;   //发言人ID

1)//请求指定用户的音频与视频
function RequestOtherUserVideo(userid,targetDiv,videoObjId) {   
   
   // 判断是否需要关闭之前已请求的用户音视频数据   

if (mTargetUserId != -1) {
        BRAC_UserCameraControl(mTargetUserId, 0);  //关闭用户视频
        BRAC_UserSpeakControl(mTargetUserId, 0);   //关闭用户音频
    }
    mTargetUserId = userid;     //设置被点用户ID为全局变量   
    BRAC_UserCameraControl(userid, 1);   //请求对方视频
    BRAC_UserSpeakControl(userid, 1);   //请求对方语音
   
    //设置视频显示位置   
    BRAC_SetVideoPos(userid, GetID(targetDiv), videoObjId);
   
}
2)//请求本地音频视频
function getLocalVideo()
{
if(mSelfUserId !=-1)
{
  RequestOtherUserVideo(mSelfUserId,"AnyChatLocalVideoDiv","LocalVideo");  
}
}
3)//请求主持人视频
function getChairManVideo()
{
if(mChairManUserId !=-1)
{  
  RequestOtherUserVideo(mChairManUserId,"AnyChatRemoteVideoDiv","ChairManVideo");
}
}
4)//请求发言人视频
function getSpeakerManVideo()
{
if(mSpeakerUserId !=-1)
{
  RequestOtherUserVideo(mSpeakerUserId,"AnyChatRemoteVideoDiv1","SpeakerVideo");  
}
}
当我单独调用  getLocalVideo(),getChairManVideo(),getSpeakerManVideo()三个方法中的任何一个时,都能正常的返回音频视频数据,
但是当我同时调用其中的任意两个比如同时调用getLocalVideo()和getChairManVideo(),并且将本地用户的userid和主持人的userid设置为
同一个用户即mSelfUserId与mChairManUserId相等时,则只能取回第一个方法调用的音频视频数据,第二个方法的调用没有数据返回,也不报告错误
比如,如下调用:
var mSelfUserId=1;
var mChairManUserId=1;
var mSpeakerUserId=1;
getLocalVideo();      //正常返回音频视频
getChairManVideo();   //音频视频数据未取回
getSpeakerManVideo(); //音频视频数据未取回
如果:这样调用
getChairManVideo();   //正常返回音频视频
getLocalVideo();      //音频视频数据未取回
getSpeakerManVideo(); //音频视频数据未取回
请问是什么原因??






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

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
沙发
发表于 2014-4-4 17:17:12 | 只看该作者
廖斌 发表于 2014-4-4 17:15
您好,同一个用户的数据不能在多个div中同时显示,只能加载在一个div中

不同的用户数据是可以显示在不通的div插件中的,可以将主持人和本地的视频数据放在不同的div插件中。
回复 支持 反对

使用道具 举报

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
板凳
 楼主| 发表于 2014-4-4 17:28:56 | 只看该作者
您的解释可能不正确,我的本地视频,主持人,发言人的视频是分别放到了不同的DIV中,请仔细看我的代码
如果我直接用

BRAC_SetVideoPos(1, GetID("div1"), "v1");
BRAC_SetVideoPos(1, GetID("div2"), "v2");
BRAC_SetVideoPos(1, GetID("div3"), "v3";

设置同一个人的视频数据到三个不同的DIV中是可以同时显示的,但是我用我上面的请求方法RequestOtherUserVideo(userid,targetDiv,videoObjId) ,重复的取三次就只有第一次有数据返回,我怀疑是不比因为在该方法中调用了
BRAC_UserCameraControl(userid, 1);   //请求对方视频
BRAC_UserSpeakControl(userid, 1);   //请求对方语音

而同一个客户端对同一个用户的音频和视频数据的请求只能请求一次????
是这样的吗?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
地板
发表于 2014-4-4 17:42:00 | 只看该作者
lslizhonghua 发表于 2014-4-4 17:28
您的解释可能不正确,我的本地视频,主持人,发言人的视频是分别放到了不同的DIV中,请仔细看我的代码
如 ...
BRAC_SetVideoPos(1, GetID("div1"), "v1");
BRAC_SetVideoPos(1, GetID("div2"), "v2");
BRAC_SetVideoPos(1, GetID("div3"), "v3";

设置同一个人的视频数据到三个不同的DIV中是可以同时显示的

哦,这个我没试过,理论上面应该是可以的。对同一个客户的多次调用
  1. BRAC_UserCameraControl(userid, 1);   //请求对方视频
  2. BRAC_UserSpeakControl(userid, 1);
复制代码
只有第一次有效,其余的调用也不会造成异常,应该是RequestOtherUserVideo中的代码
  1. BRAC_UserCameraControl(mTargetUserId, 0);  //关闭用户视频
  2.         BRAC_UserSpeakControl(mTargetUserId, 0);   //关闭用户音频
复制代码
造成的
回复 支持 反对

使用道具 举报

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
5#
 楼主| 发表于 2014-4-4 17:42:25 | 只看该作者
拜托廖工,请回复我的疑问,谢谢!
回复 支持 反对

使用道具 举报

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
6#
 楼主| 发表于 2014-4-4 17:44:45 | 只看该作者
谢谢,回复,但是我是先关闭后,又打开了啊?这个也解释不通,还有没有其它可能?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
7#
发表于 2014-4-4 17:45:52 | 只看该作者
lslizhonghua 发表于 2014-4-4 17:44
谢谢,回复,但是我是先关闭后,又打开了啊?这个也解释不通,还有没有其它可能?

你将RequestOtherUserVideo中的关闭音视频去掉之后试下就知道了
回复 支持 反对

使用道具 举报

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
8#
 楼主| 发表于 2014-4-4 17:48:20 | 只看该作者
好的,谢谢!
那么,再问一个问题,当我请求一个新的用户ID的音频视频数据时,对于原来已经请求过个用户的音频视频不执行关闭操作会负面的影响吗?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
9#
发表于 2014-4-4 17:55:34 | 只看该作者
lslizhonghua 发表于 2014-4-4 17:48
好的,谢谢!
那么,再问一个问题,当我请求一个新的用户ID的音频视频数据时,对于原来已经请求过个用户的 ...

不会的,没有关闭原来的,就相当与同时请求了几路视频了,会消耗更多系统资源和带宽就是,不会造成程序稳定行的影响。
回复 支持 反对

使用道具 举报

13

主题

42

帖子

133

积分

注册会员

Rank: 2

积分
133
10#
 楼主| 发表于 2014-4-4 17:56:56 | 只看该作者
好的,谢谢廖工耐心释疑!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 22:30 , Processed in 0.196991 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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