AnyChat技术支持论坛

标题: WPF无法获取句柄如何同时连接多个视频 [打印本页]

作者: 屌丝路人甲    时间: 2013-9-5 20:00
标题: WPF无法获取句柄如何同时连接多个视频
WPF中我想实现一个4分屏的软件因为WPF无法获取句柄所以后面的视频回调函数总会把前面的回调函数覆盖永远只有最后一个成功请教该如何实现 我用WINFORM实现没有问题但是WPF机制不一样有好的解决办法么求助
作者: admin    时间: 2013-9-5 21:01
您好,视频数据回调函数第一个参数就是userid,您可以根据userid来区分不同的窗口,即一个回调函数,在回调函数中根据userid绘制到不同的窗口上。
作者: 屌丝路人甲    时间: 2013-9-6 09:45
但是我现在想的是4个视频都连接的一个用户  他们的Userid 都全部相同啊
作者: admin    时间: 2013-9-6 09:58
4个视频都连接的一个用户
能详细的说明一下?
作者: 屌丝路人甲    时间: 2013-9-6 10:06
我用的是WPF 调用SDK 一个窗口可以成功连接没有问题 但是我想实现4分屏同时连接一个用户的摄像头但是永远只有最后一个连接成功 我用一个usercontrol 里面包含一个img控件 然后实例化4次 添加到一个窗体里面 视频的初始化及登录都在Uercontrol 加载的时候进行 但是永远只有最后一个usercontrol能接收到消息和视频的callback数据很苦恼 感觉是前面的callback都被覆盖了你有好的建议么  能QQ联系么?
作者: 屌丝路人甲    时间: 2013-9-6 10:08
或者是你有WPF 实现多分屏的列子么求好人回复

作者: 屌丝路人甲    时间: 2013-9-6 10:09
admin 发表于 2013-9-6 09:58
能详细的说明一下?


我用的是WPF 调用SDK 一个窗口可以成功连接没有问题 但是我想实现4分屏同时连接一个用户的摄像头但是永远只有最后一个连接成功 我用一个usercontrol 里面包含一个img控件 然后实例化4次 添加到一个窗体里面 视频的初始化及登录都在Uercontrol 加载的时候进行 但是永远只有最后一个usercontrol能接收到消息和视频的callback数据很苦恼 感觉是前面的callback都被覆盖了你有好的建议么  能QQ联系么? 求帮助
作者: admin    时间: 2013-9-6 10:19
感觉是前面的callback都被覆盖了
你就在这个callback里面写代码,让画面绘制到四个窗体上,是没有问题的。你想为每一个窗口创建一个回调函数,这种思路是存在问题的。
作者: admin    时间: 2013-9-6 10:20
屌丝路人甲 发表于 2013-9-6 10:08
或者是你有WPF 实现多分屏的列子么求好人回复

你视频数据都拿到了,然后向四个窗口上绘图就行了,这个地方肯定是需要自己写代码处理一下的,相当于一张图分别贴到四个窗口上面,没问题的,换一种思路就行了。
作者: 屌丝路人甲    时间: 2013-9-6 10:37
本帖最后由 屌丝路人甲 于 2013-9-6 10:45 编辑
admin 发表于 2013-9-6 10:20
你视频数据都拿到了,然后向四个窗口上绘图就行了,这个地方肯定是需要自己写代码处理一下的,相当于一张 ...

哪如果只让存在一个CALLBACK的话哪如果我想连接4个不同的用户的时候如何办呢 有好的建议么?
作者: admin    时间: 2013-9-6 10:40
视频数据回调函数第一个参数就是userid,您可以根据userid来区分不同的窗口,即一个回调函数,在回调函数中根据userid绘制到不同的窗口上。
作者: 屌丝路人甲    时间: 2013-9-26 16:28
admin 发表于 2013-9-6 10:40
视频数据回调函数第一个参数就是userid,您可以根据userid来区分不同的窗口,即一个回调函数,在回调函数中 ...

但是我开2个连接的时候 永远只返回一个userid 另一个不返回
作者: admin    时间: 2013-9-26 16:38
您好,请将客户端的日志文件(BRAnyChatCore.log)内容帖上来我们帮您分析一下,谢谢。
作者: 屌丝路人甲    时间: 2013-9-26 16:45
2013-09-26 16:42:27(492)]        ---------------------------BRAnyChatCore ActiveCallLog---------------------------
[2013-09-26 16:42:27(498)]        Load SDK Success, dwFuncMode:0x3f9,V4.8(Build Time:Jul 10 2013 21:08:52)
[2013-09-26 16:42:27(574)]        Load BRMiscUtil.dll success!(V4.7 Build Time:Jul  4 2013 17:47:14)
[2013-09-26 16:42:27(669)]        Load BRMediaUtil.dll success!(V4.7 Build Time:Jul  4 2013 17:50:04)
[2013-09-26 16:42:27(678)]        Load BRMediaShow.dll success!(V4.7 Build Time:Jul  4 2013 17:47:19)
[2013-09-26 16:42:27(692)]        Load BRMediaCore.dll success!(V4.7 Build Time:Jul 10 2013 21:07:39)
[2013-09-26 16:42:27(754)]        Invoke        BRAC_Connect(42.121.110.233,8906)=0
[2013-09-26 16:42:27(759)]        Invoke        LoginServer(username=admin)
[2013-09-26 16:42:27(764)]        Invoke        EnterRoom(roomid=1)
[2013-09-26 16:42:27(850)]        CheckClientSocketLink         Connect(ip=42.121.110.233,port=8906)
[2013-09-26 16:42:28(415)]        Server version: V4.8(Build Time:2013-07-11 14:52:24)
[2013-09-26 16:42:28(488)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2013-09-26 16:42:28(822)]        Message        OnLoginSystem(userid=-16,errorcode=0,username=admin), msg deliver worked(1)
[2013-09-26 16:42:28(917)]        Connection to streaming media server successfully!(udp delay:39ms)
[2013-09-26 16:42:29(031)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=0)
[2013-09-26 16:42:29(070)]        Message        OnReceiveOnlineUser(count=3,roomid=1)
[2013-09-26 16:42:29(084)]        Invoke        UserSpeakControl(userid=66,bOpen=1)
[2013-09-26 16:42:29(092)]        Invoke        UserCameraControl(userid=66,bOpen=1)
[2013-09-26 16:42:29(099)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2013-09-26 16:42:29(225)]        Win7 AEC Audio Capture Driver(麦克风 (Realtek High Definition Audio))
[2013-09-26 16:42:29(239)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2013-09-26 16:42:29(244)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2013-09-26 16:42:29(253)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2013-09-26 16:42:29(333)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2013-09-26 16:42:29(363)]        ****Open Local Video Fail,ErrorCode:10011
[2013-09-26 16:42:29(439)]        Audio FX Status: VAD:1, NS:2, AGC:8, AEC:4
[2013-09-26 16:42:30(751)]        Message        OnP2PConnectState(userid=67, state=1)
[2013-09-26 16:42:31(321)]        Message        OnP2PConnectState(userid=67, state=3)
[2013-09-26 16:42:31(361)]        Message        OnP2PConnectState(userid=66, state=2)
[2013-09-26 16:42:31(894)]        Message        OnP2PConnectState(userid=66, state=3)
[2013-09-26 16:42:34(340)]        userid(66) video decode delay:0ms
[2013-09-26 16:42:57(010)]        Invoke        UserCameraControl(userid=0,bOpen=1)
[2013-09-26 16:42:57(013)]        Invoke        UserSpeakControl(userid=0,bOpen=1)
[2013-09-26 16:42:57(665)]        Invoke        UserCameraControl(userid=0,bOpen=1)
[2013-09-26 16:42:57(668)]        Invoke        UserSpeakControl(userid=0,bOpen=1)这个就是全部日志了

作者: admin    时间: 2013-9-26 16:54
您好,从日志上分析,您只请求了userid=66这个用户的音频、视频,所以只会收到一个用户的回调数据:
Invoke        UserSpeakControl(userid=66,bOpen=1)
Invoke        UserCameraControl(userid=66,bOpen=1)


所以从上面的分析来看,您还需要再请求一下另一个用户的音频、视频,谢谢。
作者: admin    时间: 2013-9-26 16:57
另外您的日志显示客户端加载的库还是V4.7的老版本,建议您重新到V4.8,可从官方网站直接下载:http://www.anychat.cn/
[2013-09-26 16:42:27(574)]        Load BRMiscUtil.dll success!(V4.7 Build Time:Jul  4 2013 17:47:14)
[2013-09-26 16:42:27(669)]        Load BRMediaUtil.dll success!(V4.7 Build Time:Jul  4 2013 17:50:04)
[2013-09-26 16:42:27(678)]        Load BRMediaShow.dll success!(V4.7 Build Time:Jul  4 2013 17:47:19)
[2013-09-26 16:42:27(692)]        Load BRMediaCore.dll success!(V4.7 Build Time:Jul 10 2013 21:07:39)
当然,您目前使用的V4.7版本和您目前遇到的问题没有任何关系,只是一个建议。




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