AnyChat技术支持论坛

标题: 能否从客户端,获取进入同一房间的其他用户id [打印本页]

作者: ghq    时间: 2015-12-16 09:51
标题: 能否从客户端,获取进入同一房间的其他用户id
能否从客户端,获取进入同一房间的其他用户id?例如有两个用户同时进入同一个房间,我怎么在客户端,获取对方的用户id?
作者: 佰锐科技-邵光清    时间: 2015-12-16 09:56
您好,能从客户端获取同一房间的其他用户的Id信息,BRAC_GetOnlineUser即可获取房间内用户列表。
作者: ghq    时间: 2015-12-16 10:25
还有个问题,m_userid[] 数组中除了存有自身用户id外,是否还有还能存其他的用户id?
作者: 佰锐科技-邵光清    时间: 2015-12-16 11:32
ghq 发表于 2015-12-16 10:25
还有个问题,m_userid[] 数组中除了存有自身用户id外,是否还有还能存其他的用户id?

您好,自己本地的userid在登录成功的回调中可以获取到,BRAC_GetOnlineUser获取到的用户列表不包括自己的userid的。
作者: ghq    时间: 2015-12-16 11:42
本帖最后由 ghq 于 2015-12-16 11:43 编辑
佰锐科技-邵光清 发表于 2015-12-16 11:32
您好,自己本地的userid在登录成功的回调中可以获取到,BRAC_GetOnlineUser获取到的用户列表不包括自己的 ...


用demo调试的时候,m_userid[] ,存储了当前所有用户的id。是每一次有用户进入都调用一次BRAC_GetOnlineUser?

作者: ghq    时间: 2015-12-16 11:52
佰锐科技-邵光清 发表于 2015-12-16 11:32
您好,自己本地的userid在登录成功的回调中可以获取到,BRAC_GetOnlineUser获取到的用户列表不包括自己的 ...

还有为什么用demo源码自己进行编译运行时,没有其他人的音视频?这个怎么解决?
作者: 佰锐科技-邵光清    时间: 2015-12-16 12:47
ghq 发表于 2015-12-16 11:52
还有为什么用demo源码自己进行编译运行时,没有其他人的音视频?这个怎么解决?

您好,请将客户端的日志发上来分析,谢谢!
作者: 佰锐科技-邵光清    时间: 2015-12-16 12:51
ghq 发表于 2015-12-16 11:42
用demo调试的时候,m_userid[] ,存储了当前所有用户的id。是每一次有用户进入都调用一次BRAC_GetOnlin ...

您说的对,每一次用户进入房间都调用一次BRAC_GetOnlineUser。
作者: ghq    时间: 2015-12-16 16:45
佰锐科技-邵光清 发表于 2015-12-16 12:51
您说的对,每一次用户进入房间都调用一次BRAC_GetOnlineUser。


[2015-12-16 16:42:08(887)]        Server version: V5.3(Build Time:2015-12-14 10:38:57, Server OS:Windows)
[2015-12-16 16:42:09(101)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2015-12-16 16:42:09(474)]        Message        OnLoginSystem(userid=-5575,errorcode=0,username=AnyChat5), msg deliver worked(1)
[2015-12-16 16:42:09(521)]        Load BRMediaUtil.dll success!(V5.1 Build Time:Sep 10 2014 09:59:08)
[2015-12-16 16:42:09(526)]        Load BRMediaShow.dll success!(V5.1 Build Time:Sep 10 2014 09:59:09)
[2015-12-16 16:42:09(532)]        Load BRMediaCore.dll success!(V5.1 Build Time:Sep 10 2014 09:59:30)
[2015-12-16 16:42:09(564)]        Warning: The UDP communication with the server abnormal!
[2015-12-16 16:42:10(028)]        Success add upnp map(port:4534, tcp)
[2015-12-16 16:42:10(076)]        Connection to streaming media server successfully!(udp delay:257ms)
[2015-12-16 16:42:10(270)]        Message        OnEnterRoom(roomid=13,errorcode=0,siteindex=0)
[2015-12-16 16:42:10(273)]        Message        OnReceiveOnlineUser(count=1,roomid=13)
[2015-12-16 16:42:10(275)]        Invoke        BRAC_SetVideoPos(dwUserId:-1, hWnd:0x1c0918, l:29, t:326, r:209, b:461)
[2015-12-16 16:42:10(277)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2015-12-16 16:42:10(279)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2015-12-16 16:42:10(508)]        Success add upnp map(port:62088, udp)
[2015-12-16 16:42:10(536)]        WaveIn Audio Capture Driver(麦克风 (Realtek High Definition)
[2015-12-16 16:42:10(538)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2015-12-16 16:42:10(539)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2015-12-16 16:42:10(582)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2015-12-16 16:42:10(584)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2015-12-16 16:42:11(770)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(772)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(773)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(774)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(774)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(775)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(776)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(777)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(778)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(779)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(780)]        MinCroppingSize(960, 540)        MaxCroppingSize(960, 540)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(781)]        MinCroppingSize(960, 540)        MaxCroppingSize(960, 540)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(782)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(783)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(784)]        MinCroppingSize(424, 240)        MaxCroppingSize(424, 240)        Format(YUY2, 0x32595559)
[2015-12-16 16:42:11(785)]        MinCroppingSize(424, 240)        MaxCroppingSize(424, 240)        Format(YUY2, 0x8d2681)
[2015-12-16 16:42:11(786)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(786)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(787)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(788)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(789)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(789)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(791)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(792)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(843)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(846)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(849)]        MinCroppingSize(960, 540)        MaxCroppingSize(960, 540)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(852)]        MinCroppingSize(960, 540)        MaxCroppingSize(960, 540)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(855)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(MJPG, 0x47504a4d)
[2015-12-16 16:42:11(857)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(MJPG, 0x8d2181)
[2015-12-16 16:42:11(883)]        Video Config Size(320, 240)        Format(YUY2, 25fps)
[2015-12-16 16:42:11(889)]        ****Open Local Video Fail,ErrorCode:10090


Open Local Video Fail,ErrorCode:10090?这个是什么原因?
作者: 佰锐科技-邵光清    时间: 2015-12-16 17:11
您好,请参考这个贴:http://bbs.anychat.cn/forum.php? ... &extra=page%3D1
作者: ghq    时间: 2015-12-16 17:48
本帖最后由 ghq 于 2015-12-16 17:55 编辑
佰锐科技-邵光清 发表于 2015-12-16 17:11
您好,请参考这个贴:http://bbs.anychat.cn/forum.php? ... &extra=page%3D1


谢谢,一样的问题
还有个问题:
混音的时候 这样写
BRAC_UserSpeakControl(m_iUserID[2],TRUE);
INT i=BRAC_StreamRecordCtrlEx(m_iUserID[0], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));
INT j=BRAC_StreamRecordCtrlEx(m_iUserID[2], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));

还是

BRAC_UserSpeakControl(m_iUserID[2],TRUE);
INT i=BRAC_StreamRecordCtrlEx(m_iUserID[0], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));

不知为什么会生成一个0字节的空文件?
作者: ghq    时间: 2015-12-16 17:56
佰锐科技-邵光清 发表于 2015-12-16 17:11
您好,请参考这个贴:http://bbs.anychat.cn/forum.php?mod=viewthread&tid=96&extra=page%3D1

还有个问题:
混音的时候 这样写
BRAC_UserSpeakControl(m_iUserID[2],TRUE);
INT i=BRAC_StreamRecordCtrlEx(m_iUserID[0], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));
INT j=BRAC_StreamRecordCtrlEx(m_iUserID[2], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));

还是

BRAC_UserSpeakControl(m_iUserID[2],TRUE);
INT i=BRAC_StreamRecordCtrlEx(m_iUserID[0], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));

不知为什么会生成一个0字节的空文件?
作者: 佰锐科技-邵光清    时间: 2015-12-16 18:03
ghq 发表于 2015-12-16 17:56
还有个问题:
混音的时候 这样写
BRAC_UserSpeakControl(m_iUserID[2],TRUE);

您好,不能连续调用BRAC_StreamRecordCtrlEx,第一次开始录制后,再调用开始录制时,导致第一次录制结束。因此获取到空文件。
作者: ghq    时间: 2015-12-16 18:10
佰锐科技-邵光清 发表于 2015-12-16 18:03
您好,不能连续调用BRAC_StreamRecordCtrlEx,第一次开始录制后,再调用开始录制时,导致第一次录制结束 ...

明白,那么混音录制,如下面所写,可以吗?
DWORD dwFlags = ANYCHAT_RECORD_FLAGS_AUDIO|ANYCHAT_RECORD_FLAGS_MIXAUDIO ;
BRAC_UserSpeakControl(m_iUserID[2],TRUE);
INT i=BRAC_StreamRecordCtrlEx(m_iUserID[0], TRUE, dwFlags, 0, _T("用户自定义字符串:hellow world!"));
作者: 佰锐科技-邵光清    时间: 2015-12-16 18:39
您好,DWORD dwFlags = ANYCHAT_RECORD_FLAGS_AUDIO+ANYCHAT_RECORD_FLAGS_MIXAUDIO ;传入BRAC_StreamRecordCtrlEx接口中。另外BRAC_UserSpeakControl应该放在进入房间后操作,操作自己或者对方的音视频。可以参考我们的demo程序。
参考:AnyChat开发流程指南

作者: ghq    时间: 2015-12-16 18:41
本帖最后由 ghq 于 2015-12-16 18:43 编辑
佰锐科技-邵光清 发表于 2015-12-16 18:39
您好,DWORD dwFlags = ANYCHAT_RECORD_FLAGS_AUDIO+ANYCHAT_RECORD_FLAGS_MIXAUDIO ;传入BRAC_StreamRecor ...


是这样做的啊,也是在demo中改的,可是并没有录下双方的音频啊?我是把这些代码同时在OnButtonRecordctrl0()写的,可是并没有录下上方的?
作者: 佰锐科技-邵光清    时间: 2015-12-16 22:31
ghq 发表于 2015-12-16 18:41
是这样做的啊,也是在demo中改的,可是并没有录下双方的音频啊?我是把这些代码同时在OnButtonRecordct ...

您好,请将客户端日志发上来分析,谢谢!
作者: 佰锐科技-邵光清    时间: 2015-12-17 09:10
ghq 发表于 2015-12-16 16:45
[2015-12-16 16:42:08(887)]        Server version: V5.3(Build Time:2015-12-14 10:38:57, Server OS:Window ...

Warning: The UDP communication with the server abnormal!

您好,日志显示服务器的UDP端口不通,请在防火墙设置里面将UDP端口打开,默认是8907,可自行定义。录制不成功的问题,也将客户端日志发上来分析,谢谢!




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