AnyChat技术支持论坛

标题: 实现打开网页直接是视频接通状态 [打印本页]

作者: liangchao    时间: 2015-10-14 10:51
标题: 实现打开网页直接是视频接通状态
请问使用anychatweb 可以实现打开网页直接是视频接通状态吗?目前我在页面加载完成调用的函数中,调用了var errorcode = BRAC_InitSDK(NEED_ANYCHAT_APILEVEL);         // 初始化插件  errorcode = BRAC_Connect(mDefaultServerAddr,mDefaultServerPort);//连接服务器  errorcode = BRAC_EnterRoom(mDefaultRoomID, "", 0); //进入房间。但是网页打开后未显示视频连接状态。如果想实现打开网页直接是视频联通状态,我应该还调用哪些方法,同样在<body onload= 加载完成调用的函数中调用可以吗?

在线等答复,十分感谢

作者: 佰锐科技-李友勤    时间: 2015-10-14 10:57
您好,请问您是希望打开网页就能看见视频吗
作者: liangchao    时间: 2015-10-14 11:00
佰锐科技-李友勤 发表于 2015-10-14 10:57
您好,请问您是希望打开网页就能看见视频吗

是的。我们业务场景是,业务流程接收到某个事件,然后显示视频接通的网页
作者: 佰锐科技-李友勤    时间: 2015-10-14 11:09
liangchao 发表于 2015-10-14 11:00
是的。我们业务场景是,业务流程接收到某个事件,然后显示视频接通的网页

您好,是可以实现的。只需要将相关界面隐藏,连续调用连接、登录、进入房间函数即可,在进入房间时将上层应用的参数传入即可实现
作者: liangchao    时间: 2015-10-14 11:13
已经调用了初始化,连接服务器,登陆服务器,进入房间。但是没有实现。是否还要调用BRAC_UserCameraControl SpeakControl之类的函数呢还有视频位置需要调用
作者: admin    时间: 2015-10-14 11:29
是否还要调用BRAC_UserCameraControl SpeakControl之类的函数呢还有视频位置需要调用
是的,需要调用的,请参考:AnyChat开发流程指南

同样在<body onload= 加载完成调用的函数中调用可以吗

在OnLoad里面只需要调用Connect、Login、EnterRoom几个API即可,后面其它API的调用需要在异步事件(由AnyChat插件主动触发)中调用,如OnAnyChatEnterRoom等。
作者: liangchao    时间: 2015-10-14 13:25
你好,我发现BRAC_Connect()返回的201,之后调用的BRAC_EnterRoom()返回的308.应该返回0才是成功的对吗?那这两个返回码能看出大概是什么问题吗?
作者: admin    时间: 2015-10-14 13:32
您好,请将完整的日志文件(BRAnyChatCore.log,位于插件安装目录下)帖上来,我们帮您分析一下,谢谢。
作者: liangchao    时间: 2015-10-14 13:37
[2015-10-14 13:33:02(065)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2015-10-14 13:33:02(066)]        Load BRAnyChatCore.dll success!(V5.3 Build Time:Aug 10 2015 12:20:22)
[2015-10-14 13:33:02(075)]        Load BRMiscUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:50)
[2015-10-14 13:33:02(172)]        Load BRMediaUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:02)
[2015-10-14 13:33:02(176)]        Load BRMediaShow.dll success!(V5.3 Build Time:Aug 10 2015 12:20:53)
[2015-10-14 13:33:02(181)]        Load BRMediaCore.dll success!(V5.3 Build Time:Aug 10 2015 12:21:04)
[2015-10-14 13:33:03(577)]        Invoke        Connect(demo.anychat.cn,8906)=0
[2015-10-14 13:33:03(692)]        CheckClientSocketLink         Connect(ip=121.199.51.198,port=8906)
[2015-10-14 13:33:03(914)]        Server version: V5.3(Build Time:2015-09-29 22:14:08, Server OS:Windows)
[2015-10-14 13:33:04(159)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2015-10-14 13:33:04(549)]        Invoke        LoginServer(username=AnyChat)
[2015-10-14 13:33:04(753)]        Message        OnLoginSystem(userid=-18363,errorcode=0,username=AnyChat), msg deliver worked(1)
[2015-10-14 13:33:04(755)]        Server running time: 14 days, 15 hours, 12 minutes, license mode:1
[2015-10-14 13:33:05(561)]        Invoke        EnterRoom(roomid=1)
[2015-10-14 13:33:05(909)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=0)
[2015-10-14 13:33:05(910)]        Message        OnReceiveOnlineUser(count=5,roomid=1)
[2015-10-14 13:33:05(911)]        On Remote UserSpeakControl(dwUserId:-18201, bOpen:1)
[2015-10-14 13:33:05(983)]        WaveIn Audio Capture Driver(麦克风 (Realtek High Definition)
[2015-10-14 13:33:05(984)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2015-10-14 13:33:05(985)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2015-10-14 13:33:06(035)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2015-10-14 13:33:06(125)]        On Remote UserCameraControl(dwUserId:-18201, bOpen:1)
[2015-10-14 13:33:08(929)]        Warning: The UDP communication with the server abnormal!
[2015-10-14 13:33:23(909)]        Invoke        LeaveRoom(roomid=-1)        Elapse:63 ms
[2015-10-14 13:33:23(979)]        Invoke        LogoutServer(userid=-18363)        Elapse:78 ms
[2015-10-14 13:33:24(016)]        Invoke        BRAC_Release        Elapse:31 ms

作者: 陈文仲    时间: 2015-10-14 13:46
liangchao 发表于 2015-10-14 13:25
你好,我发现BRAC_Connect()返回的201,之后调用的BRAC_EnterRoom()返回的308.应该返回0才是成功的对吗 ...

您好,请问您是在同一个浏览器上面打开了多个视频通话的页面么?
作者: liangchao    时间: 2015-10-14 13:48
对,当时返回码是201的时候应该是这个问题,后来我关掉了多余的视频页面。已经返回码是0,但是我还是看不到类似anychat中提供的demo示例页面那样的视频画面。我不知道是我没有在网页中设置视频位置还是什么原因
作者: 陈文仲    时间: 2015-10-14 13:59
liangchao 发表于 2015-10-14 13:48
对,当时返回码是201的时候应该是这个问题,后来我关掉了多余的视频页面。已经返回码是0,但是我还是看不到 ...

上面的日志中没有看到有打开或请求对方音视频的相关操作,进入房间后还需要调用接口去打开或请求音视频的接口。可以参考一下demo里anychatevent.js文件中的回调事件:OnAnyChatEnterRoom、OnAnyChatRoomOnlineUser和OnAnyChatUserAtRoom的相关操作。
作者: liangchao    时间: 2015-10-14 14:02
好的,我再研究一下。有问题的时候还会继续请教。太感谢了
作者: liangchao    时间: 2015-10-14 14:26
陈文仲 发表于 2015-10-14 13:59
上面的日志中没有看到有打开或请求对方音视频的相关操作,进入房间后还需要调用接口去打开或请求音视频的 ...

我把自己的日志和demo的日志对比了下,发现缺少On Remote UserSpeakControl(dwUserId:-18201, bOpen:1)
[2015-10-14 14:13:25(674)]        On Remote UserCameraControl这两个事件。是否UserSpeakControl和 UserCameraControl需要网页中自己调用,不能由插件触发调用?
作者: admin    时间: 2015-10-14 14:33
A和B通话,A调用:BRAC_UserSpeakControl(userid_b, 1)时,在B的日志就中会出现:On Remote UserSpeakControl(dwUserId:-18201, bOpen:1)。
作者: liangchao    时间: 2015-10-14 15:32
佰锐科技-李友勤 发表于 2015-10-14 11:09
您好,是可以实现的。只需要将相关界面隐藏,连续调用连接、登录、进入房间函数即可,在进入房间时将上层 ...

你好,我目前连续调用了连接 登陆 进入房间,并且调用了BRAC_UserCameraControl
  BRAC_UserSpeakControl
  BRAC_SetVideoPos(mSelfUser
。但是不能够像demo中显示本地视频,只显示anychat图片。我看到有人提问是因为必须进入房间成功之后才能调后边的打开音视频函数。可是我希望一打开网页即显示视频,进入房间之前的函数可以在网页加载完成调用,那打开音视频我怎么可以保证在进入房间成功后调用同时在网页打开即可看到视频呢?
作者: 佰锐科技-陈伟    时间: 2015-10-14 15:50
liangchao 发表于 2015-10-14 15:32
你好,我目前连续调用了连接 登陆 进入房间,并且调用了BRAC_UserCameraControl
  BRAC_UserSpeakContro ...

您好 在看到视频前的所有界面不要显示 隐藏即可
作者: admin    时间: 2015-10-14 16:21
我看到有人提问是因为必须进入房间成功之后才能调后边的打开音视频函数。可是我希望一打开网页即显示视频

您只需要在OnLoad中调用Connect、Login、EnterRoom即可,其它的API放在异步事件里面调用,包括打开本地视频、请求对方的视频等,异步事件会由AnyChat插件主动调用的。
作者: liangchao    时间: 2015-10-14 16:41
我开始是只调用初始化 连接 登陆 进入房间,而且返回都为0,可是网页上什么也不显示。在论坛上发了日志,让我参考OnAnyChatEnterRoom等函数。然后我加上了调用BRAC_UserCameraControl speakcontrol setvideopos,然后网页可以显示anychat图片,还是没法显示本地视频
作者: 佰锐科技-李友勤    时间: 2015-10-14 16:47
liangchao 发表于 2015-10-14 16:41
我开始是只调用初始化 连接 登陆 进入房间,而且返回都为0,可是网页上什么也不显示。在论坛上发了日志,让 ...

您好,您前面的代码,没看到打开本地视频的操作。

其实在您的需求当中,anychat基本流程仍然需要实现,所有的监听与功能都不能缺少。只是借用anychat的异步回调,将连接登录与进入房间一次性运行完成。

在进入房间的回调中请求音视频。
作者: liangchao    时间: 2015-10-14 17:26
佰锐科技-李友勤 发表于 2015-10-14 16:47
您好,您前面的代码,没看到打开本地视频的操作。

其实在您的需求当中,anychat基本流程仍然需要实现 ...

总感觉只要关联了anychatevent.js等脚本,调用了brac_enterroom之后,就应该自动回调实现了。
作者: 佰锐科技-李友勤    时间: 2015-10-14 17:35
liangchao 发表于 2015-10-14 17:26
总感觉只要关联了anychatevent.js等脚本,调用了brac_enterroom之后,就应该自动回调实现了。

是的,回调是自动进行的。但是回调函数中的业务仍需要手动去实现的
作者: liangchao    时间: 2015-10-15 09:36
[2015-10-15 09:30:22(690)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2015-10-15 09:30:22(691)]        Load BRAnyChatCore.dll success!(V5.3 Build Time:Aug 10 2015 12:20:22)
[2015-10-15 09:30:22(700)]        Load BRMiscUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:50)
[2015-10-15 09:30:22(769)]        Load BRMediaUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:02)
[2015-10-15 09:30:22(784)]        Load BRMediaShow.dll success!(V5.3 Build Time:Aug 10 2015 12:20:53)
[2015-10-15 09:30:22(788)]        Load BRMediaCore.dll success!(V5.3 Build Time:Aug 10 2015 12:21:04)
[2015-10-15 09:30:23(498)]        Invoke        Connect(demo.anychat.cn,8906)=0
[2015-10-15 09:30:23(550)]        CheckClientSocketLink         Connect(ip=121.199.51.198,port=8906)
[2015-10-15 09:30:23(752)]        Server version: V5.3(Build Time:2015-09-29 22:14:08, Server OS:Windows)
[2015-10-15 09:30:24(047)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2015-10-15 09:30:24(082)]        Invoke        LoginServer(username=AnyChat)
[2015-10-15 09:30:24(360)]        Message        OnLoginSystem(userid=-20080,errorcode=0,username=AnyChat), msg deliver worked(1)
[2015-10-15 09:30:24(362)]        Server running time: 15 days, 11 hours, 9 minutes, license mode:1
[2015-10-15 09:30:24(697)]        Invoke        EnterRoom(roomid=1)
[2015-10-15 09:30:25(032)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=1)
[2015-10-15 09:30:25(034)]        Message        OnReceiveOnlineUser(count=2,roomid=1)
[2015-10-15 09:30:25(087)]        WaveIn Audio Capture Driver(麦克风 (Realtek High Definition)
[2015-10-15 09:30:25(087)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2015-10-15 09:30:25(088)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2015-10-15 09:30:25(143)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2015-10-15 09:30:26(001)]        Invoke        UserCameraControl(userid=-1, bOpen=1, stream=0)
[2015-10-15 09:30:27(286)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x32595559)
[2015-10-15 09:30:27(287)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x8d2681)
[2015-10-15 09:30:27(288)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUY2, 0x32595559)
[2015-10-15 09:30:27(289)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUY2, 0x8d2681)
[2015-10-15 09:30:27(290)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(YUY2, 0x32595559)
[2015-10-15 09:30:27(291)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(YUY2, 0x8d2681)
[2015-10-15 09:30:27(292)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x32595559)
[2015-10-15 09:30:27(293)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x8d2681)
[2015-10-15 09:30:27(294)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(YUY2, 0x32595559)
[2015-10-15 09:30:27(295)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(YUY2, 0x8d2681)
[2015-10-15 09:30:27(296)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(YUY2, 0x32595559)
[2015-10-15 09:30:27(298)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(YUY2, 0x8d2681)
[2015-10-15 09:30:27(302)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(MJPG, 0x47504a4d)
[2015-10-15 09:30:27(303)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(MJPG, 0x8d2181)
[2015-10-15 09:30:27(304)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(MJPG, 0x47504a4d)
[2015-10-15 09:30:27(306)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(MJPG, 0x8d2181)
[2015-10-15 09:30:27(307)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(MJPG, 0x47504a4d)
[2015-10-15 09:30:27(308)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(MJPG, 0x8d2181)
[2015-10-15 09:30:27(309)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(MJPG, 0x47504a4d)
[2015-10-15 09:30:27(311)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(MJPG, 0x8d2181)
[2015-10-15 09:30:27(312)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(MJPG, 0x47504a4d)
[2015-10-15 09:30:27(315)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(MJPG, 0x8d2181)
[2015-10-15 09:30:27(317)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(MJPG, 0x47504a4d)
[2015-10-15 09:30:27(318)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(MJPG, 0x8d2181)
[2015-10-15 09:30:27(334)]        Video Config Size(320, 240)        Format(YUY2, 25fps)
[2015-10-15 09:30:27(388)]        video init finish:320x240, YUY2, fps:30, codecid:1
[2015-10-15 09:30:27(473)]        Message        OnUserEnterRoom(userid=9967,nickname=离我,siteindex=2)
[2015-10-15 09:30:27(674)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2015-10-15 09:30:27(693)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2015-10-15 09:30:27(717)]        video codec init:codec:1, 15fps, 320x240, bitrate:90kbps, quality:3, preset:3, gop:30, handle:2
[2015-10-15 09:30:32(414)]        Warning: The UDP communication with the server abnormal!
[2015-10-15 09:31:00(035)]        Invoke        LeaveRoom(roomid=-1)        Elapse:250 ms
[2015-10-15 09:31:00(113)]        Invoke        LogoutServer(userid=-20080)        Elapse:78 ms
[2015-10-15 09:31:00(191)]        Invoke        BRAC_Release        Elapse:78 ms
能帮我分析下吗,目前只能看到图片,没有视频图像
作者: 佰锐科技-李友勤    时间: 2015-10-15 09:49
liangchao 发表于 2015-10-15 09:36
[2015-10-15 09:30:22(690)]        ---------------------------AnyChat Platform Core SDK Client Log---------- ...

日志上可以看出已经读到视频了,请问有设置视频显示位置吗
作者: admin    时间: 2015-10-15 10:40
Warning: The UDP communication with the server abnormal!

您的网络是不是有防火墙,关闭了UDP通信?您可以尝试本地部署一台核心服务器试试,参考:AnyChat使用攻略之独立部署Windows视频服务器
作者: liangchao    时间: 2015-10-15 10:42
佰锐科技-李友勤 发表于 2015-10-15 09:49
日志上可以看出已经读到视频了,请问有设置视频显示位置吗

设置过视频位置了,不过不行,可能是我自己定义的回调函数有问题。我还想问一下,demo里边注册了回调函数OnAnyChatNotifyMessage,是将该函数绑定了某个事件吗?那该绑定事件是在哪里触发的  进而触发回调函数的呢?我一直没看明白这点。十分感谢
作者: liangchao    时间: 2015-10-15 10:59
我现在测试了下我的网页里边,只有一个case WM_GV_MICSTATECHANGE:事件,所以OnAnyChatNotifyMessage函数里边的WM_GV_CONNECT:                       
                case WM_GV_LOGINSYSTEM:               
                case WM_GV_ENTERROOM:               
                case WM_GV_ONLINEUSER:               
        这些事件都没触发,那相应的函数肯定就没有调用了       
作者: admin    时间: 2015-10-15 11:00
AnyChat插件会主动调用function OnAnyChatNotifyMessage,在anychatsdk.js里面自动绑定的。
作者: liangchao    时间: 2015-10-15 11:22
如果我调用初始化,连接,登陆成功之后,应该能收到WM_GV_CONNECT:                       
                case WM_GV_LOGINSYSTEM等事件的对吧,我的网页调用了之后没有这些事件,是没调用成功的原因吗
作者: 佰锐科技-李友勤    时间: 2015-10-15 11:29
liangchao 发表于 2015-10-15 11:22
如果我调用初始化,连接,登陆成功之后,应该能收到WM_GV_CONNECT:                       
                case WM_GV_LOGINSYSTEM等事件的 ...

  Message        OnConnect(bSuccess:1, errorcode=0)
[2015-10-15 09:30:24(082)]        Invoke        LoginServer(username=AnyChat)
[2015-10-15 09:30:24(360)]        Message        OnLoginSystem(userid=-20080,errorcode=0,username=AnyChat), msg deliver worked(1)
您好,您的日志中有这些回调,已经执行成功了。如果还是没有视频可以参考下上面管理员的提示:日志中显示udp没有连接。可以使用demo试下能否成功。

本地视频如也无法打开的话,可以检查一下位置设置的参数是否正确。或者您将相关代码贴上来我们帮您分析下看看
作者: liangchao    时间: 2015-10-15 11:38
<script type="text/javascript">
var NEED_ANYCHAT_APILEVEL = "0"; //插件level
var mDefaultServerAddr = "demo.anychat.cn";                // 默认服务器地址
var mDefaultServerPort = 8906;                                        // 默认服务器端口号
var mDefaultRoomID = "1";  //默认房间号
var mSelfUserId = "AnyChat";//自己ID
function LogicIn(videocontrol) {
        var errorcode = BRAC_InitSDK(NEED_ANYCHAT_APILEVEL);         // 初始化插件
        errorcode = BRAC_Connect(mDefaultServerAddr,mDefaultServerPort);//连接服务器
        errorcode = BRAC_Login("AnyChat","",0);//登陆服务器
        errorcode = BRAC_EnterRoom(mDefaultRoomID, "", 0); //进入房间
        if(typeof(videocontrol) == "function")
        videocontrol();
}
function videocontrol(){
        BRAC_UserCameraControl(-1, 1);         // 打开本地视频
  BRAC_UserSpeakControl(-1, 1);                 //
  // 设置本地视频显示位置
  BRAC_SetVideoPos(-1, document.getElementById("AnyChatLocalVideoDiv"), "ANYCHAT_VIDEO_LOCAL");
  // 设置远程视频显示位置(没有关联到用户,只是占位置)
  BRAC_SetVideoPos(0, document.getElementById("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE";
}
</script>

</head>
<body onload="LogicIn(videocontrol)" style=" background-color: #C4CEDD; font-family:微软雅黑; margin:0 auto;">
<div id="AnyChatLocalVideoDiv" style="height:547px;"></div>
<div id="room_div_otherobject" style="text-align:center;">
        <div id="AnyChatRemoteVideoDiv" style="margin:0 auto;"></div>
</div>
</body>

demo测试过是可以的。那么请问为什么demo里都有相应事件通知,我的就没有呢?
十分感谢
作者: admin    时间: 2015-10-15 11:44
if(typeof(videocontrol) == "function")
        videocontrol();

亲,videocontrol应该放到进入房间成功的事件里面执行喔,而不应该放在logicInit里面。
作者: liangchao    时间: 2015-10-15 13:30
admin 发表于 2015-10-15 11:44
亲,videocontrol应该放到进入房间成功的事件里面执行喔,而不应该放在logicInit里面。

可是没有收到WM_GV_CONNECT  WM_GV_LOGINSYSTEM WM_GV_ENTERROOM等消息, 我如何判断进入房间成功事件呢
谢谢
作者: 佰锐科技-李友勤    时间: 2015-10-15 13:35
liangchao 发表于 2015-10-15 13:30
可是没有收到WM_GV_CONNECT  WM_GV_LOGINSYSTEM WM_GV_ENTERROOM等消息, 我如何判断进入房间成功事件呢
...

您好,这些消息是异步自动执行的,不需要人工干预。

如进入房间成功,则会自动调用OnAnyChatEnterRoom()回调,请求音视频操作也是在这里面进行的。您只需要在回调函数中写好相应功能。系统如果进入房间成功就会自动进入,如果不成功会返回错误码。
作者: liangchao    时间: 2015-10-16 14:55
佰锐科技-李友勤 发表于 2015-10-15 13:35
您好,这些消息是异步自动执行的,不需要人工干预。

如进入房间成功,则会自动调用OnAnyChatEnterRoom ...

我大概明白是怎样执行的。
可是我自己写的网页设断点发现和demo调的函数一样,但就是只出现视频位置,显示一张anychat图片不出现视频。
我又试了一次将demo网页的登陆层隐藏,然后loginit函数调用初始化  连接 登陆 进入房间。后边该调用的函数同样也调用了。但依然是显示视频位置是图片,没有视频。
两个网页摄像头也都在相应函数调用时打开了
我实在想不明白什么问题
就是网页中设置视频位置的问题吗?
作者: admin    时间: 2015-10-16 15:00
可是没有收到WM_GV_CONNECT  WM_GV_LOGINSYSTEM WM_GV_ENTERROOM等消息

建议您对比一下标准示例页面(http://www.anychat.cn/web/item/AnyChatWebDemo/)里面的相关代码,特别是初始化SDK部分的。
作者: liangchao    时间: 2015-10-17 15:11
admin 发表于 2015-10-16 15:00
建议您对比一下标准示例页面(http://www.anychat.cn/web/item/AnyChatWebDemo/)里面的相关代码,特别是 ...

请问下demo里边进入房间之后垂直和水平的滚动条是哪里设置的啊
作者: 佰锐科技-李友勤    时间: 2015-10-17 15:36
liangchao 发表于 2015-10-17 15:11
请问下demo里边进入房间之后垂直和水平的滚动条是哪里设置的啊

您好,目前的demo里面是没有任何界面对滚动属性进行设置的。
您如果在浏览器缩小后看到的滚动条是浏览器对body自动设置的滚动属性。您可以在body中进行更改。
如:在body中设置overflow:hidden,则不会出现滚动条
作者: 佰锐科技-邵光清    时间: 2015-10-17 15:38
liangchao 发表于 2015-10-17 15:11
请问下demo里边进入房间之后垂直和水平的滚动条是哪里设置的啊

请问是不是视频分辨率和DIV层大小不匹配呢?这个帖子里面有介绍如何设置滚动条,请参考:2015-08-05 在Web页面实现1:1显示视频
作者: liangchao    时间: 2015-10-19 10:05
佰锐科技-邵光清 发表于 2015-10-17 15:38
请问是不是视频分辨率和DIV层大小不匹配呢?这个帖子里面有介绍如何设置滚动条,请参考:2015-08-05 在We ...

谢谢,再请问一个问题。我发现在BRAC_Login("AnyChat","",0);//登陆服务器之后设置弹框alert("log"+errorcode);,再调用BRAC_EnterRoom("1", "", 0);,enterroom返回码是0,视频显示成功。
可是将弹框去掉,调用BRAC_Login("AnyChat","",0),BRAC_EnterRoom("1", "", 0);,这时enterroom进入房间返回码是-1.
这是什么原因呢?如何解决呢?弹框最后肯定要去掉的啊

作者: 佰锐科技-李友勤    时间: 2015-10-19 10:20
本帖最后由 佰锐科技-李友勤 于 2015-10-19 10:41 编辑
liangchao 发表于 2015-10-19 10:05
谢谢,再请问一个问题。我发现在BRAC_Login("AnyChat","",0);//登陆服务器之后设置弹框alert("log"+error ...

您好,
BRAC_EnterRoom("1", "", 0);,这时enterroom进入房间返回码是-1

这个不影响程序的运行,是正常的现象。
这是由于三步异步操作,执行的速度快于返回值的速度,所以会返回-1.

最好的办法是在上一步的回调中执行下一步操作,这样就不会返回-1了

比如在BRAC_Login的回调中调用BRAC_EnterRoom
js示例代码如下:
  1. // 客户端登录系统,dwUserId表示自己的用户ID号,errorcode表示登录结果:0 成功,否则为出错代码,参考出错代码定义
  2. function OnAnyChatLoginSystem(dwUserId, errorcode) {
  3.         DisplayLoadingDiv(false);
  4.         AddLog("OnAnyChatLoginSystem(userid=" + dwUserId + ", errorcode=" + errorcode + ")", LOG_TYPE_EVENT);
  5.     if (errorcode == 0) {       
  6.                 ConfigAnyChatParameter();
  7.                 mSelfUserId = dwUserId;       
  8.                 ShowHallDiv(true);
  9.                
  10. //在此处进入房间
  11.                 var errorcode = BRAC_EnterRoom(roomid, "", 0); //进入房间
  12.                 AddLog("BRAC_EnterRoom(" + roomid + ")=" + errorcode, LOG_TYPE_API);
  13.                 if(errorcode == 0)
  14.                 DisplayLoadingDiv(true);
  15.                
  16.     } else {
  17.                 ShowHallDiv(false);
  18.     }
  19. }
复制代码





欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3