AnyChat技术支持论坛

标题: 2人视频时,先进来的用户不能看到后进来的用户的图像 [打印本页]

作者: 乌托邦打杂的    时间: 2014-1-17 11:05
标题: 2人视频时,先进来的用户不能看到后进来的用户的图像
2人视频时,先进来的用户不能看到后进来的用户的图像,但是后进来的用户可以看到2个人,等有第三个人进来时前俩个人就都能看到了,请问是什么原因,求解 谢谢!!!!
作者: admin    时间: 2014-1-17 11:10
您好,可能您对AnyChat的工作流程不太熟悉:如果先进来的用户需要看到后进来用户的视频,则需要在用户进来时,请求一下对方的视频。

参考1:http://www.anychat.cn/faq/index. ... =193&artlang=zh

参考2:http://www.anychat.cn/faq/index. ... =174&artlang=zh

作者: 乌托邦打杂的    时间: 2014-1-17 11:22
admin 发表于 2014-1-17 11:10
您好,可能您对AnyChat的工作流程不太熟悉:如果先进来的用户需要看到后进来用户的视频,则需要在用户进来 ...

我直接用 anychat for wpf demo 测试也有这个问题 能不能具体点解释下 怎么通知先进来的用户
作者: admin    时间: 2014-1-17 11:48
能不能具体点解释下 怎么通知先进来的用户

请参考:http://www.anychat.cn/faq/index. ... 2&id=193&artlang=zh 第三部分,有详细的说明。
后用房间的用户会产生一个异步事件(WM_GV_USERATROOM):http://www.anychat.cn/faq/index.php?action=artikel&cat=4&id=119&artlang=zh

作者: 乌托邦打杂的    时间: 2014-1-21 11:53
admin 发表于 2014-1-17 11:48
请参考:http://www.anychat.cn/faq/index. ... 2&id=193&artlang=zh 第三部分,有详细的说明。
后用房 ...

我现在用c# client的Demo 程序做测试 为什么 第一个登录人如果在 收消息的委托处 设断点调试运行 等到第二个人登录的时候 能看到远程视频  但是如果直接运行却看不到远程频 求解 !!! 谢谢
还有个问题 怎么能通过username 获取 userid
作者: 佰锐技术-卓剑锐    时间: 2014-1-21 13:03
乌托邦打杂的 发表于 2014-1-21 11:53
我现在用c# client的Demo 程序做测试 为什么 第一个登录人如果在 收消息的委托处 设断点调试运行 等到第 ...

通过username获取userid你可以参考demo里的GetUserIDByName函数。

关于视频的,你指第一个看到还是第二看到?
作者: 乌托邦打杂的    时间: 2014-1-21 13:55
佰锐技术-卓剑锐 发表于 2014-1-21 13:03
通过username获取userid你可以参考demo里的GetUserIDByName函数。

关于视频的,你指第一个看到还是第 ...

问题描述:
第一人要设断点才能,在第二个人进入房间时才能看到第二个人,第二个人 正常运行 就能看到自己和第一个人
作者: 廖斌    时间: 2014-1-21 14:01
乌托邦打杂的 发表于 2014-1-21 13:55
问题描述:
第一人要设断点才能,在第二个人进入房间时才能看到第二个人,第二个人 正常运行 就能看到自 ...

您好。用什么demo测试的,在那个地方设的断点
作者: 乌托邦打杂的    时间: 2014-1-23 10:36
本帖最后由 乌托邦打杂的 于 2014-1-23 11:09 编辑

c# wpf client demo

case AnyChatCoreSDK.WM_GV_USERATROOM:
                        if (lParam != 0)     // 其它用户进入房间
                        {
                            MessageBox.Show("有用户进入");


        public void OpenRemoteUserVideo()
        {
      
            // 获取当前房间用户列表
            int usercount = 0;
            AnyChatCoreSDK.GetOnlineUser(null, ref usercount);
            if (usercount > 0)
            {
                int[] useridarray = new int[usercount];
                AnyChatCoreSDK.GetOnlineUser(useridarray, ref usercount);
                MessageBox.Show("有用户进入");
                           
                for (int i = 0; i < usercount; i++)
                {
                    // 判断该用户的视频是否已打开
                    int usercamerastatus = 0;
                    if (AnyChatCoreSDK.QueryUserState(useridarray, AnyChatCoreSDK.BRAC_USERSTATE_CAMERA, ref usercamerastatus, sizeof(int)) != 0)
                        continue;
                         MessageBox.Show("有用户进入");
                    if (usercamerastatus == 2)
                    {
                         MessageBox.Show("有用户进入");
                        AnyChatCoreSDK.UserSpeakCo
ntrol(useridarray, true);
                        AnyChatCoreSDK.UserCameraControl(useridarray, true);
                        g_otherUserId = useridarray;  
                    }
                }
             }


作者: 乌托邦打杂的    时间: 2014-1-23 10:38
本帖最后由 乌托邦打杂的 于 2014-1-23 10:40 编辑
乌托邦打杂的 发表于 2014-1-23 10:36
case AnyChatCoreSDK.WM_GV_USERATROOM:
                        if (lParam != 0)     // 其它用户进入 ...


在加messagebox 出加断点都可以,加messagebox 也可以 ,还有个问题 就是我现在是将sdk 在surface上用的 默认是调用后置摄像头 怎么能调用前置摄像头,是在wpf下开发的。谢谢!
作者: admin    时间: 2014-1-23 10:56
WPF不是Windows平台的技术?Windows平台怎么会有前置、后置摄像头之分呢?
作者: 乌托邦打杂的    时间: 2014-1-23 11:32
admin 发表于 2014-1-23 10:56
WPF不是Windows平台的技术?Windows平台怎么会有前置、后置摄像头之分呢?

surface 是win8系统 怎么会不是windows 平台呢?
作者: 廖斌    时间: 2014-1-23 11:54
乌托邦打杂的 发表于 2014-1-23 11:32
surface 是win8系统 怎么会不是windows 平台呢?

您好,可以先枚举出设备,然后再将选择设备,api如下
1、枚举设备
EnumVideoCapture
2、选择设备
SelectVideoCapture





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