设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: lincy
打印 上一主题 下一主题

BRAC_StreamRecordCtrlEx相应的服务器端“设置服务器录像通知回调函数”是哪个?

[复制链接]

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
41#
 楼主| 发表于 2015-4-20 17:11:53 | 只看该作者
佰锐科技-杨子鳄 发表于 2015-4-20 17:06
// 设置服务器录像通知回调函数
                //BRAS_API DWORD BRAS_SetOnServerRecordCallBack(BRAS_OnServerReco ...

但是我现在是要设置对应于BRAC_StreamRecordCtrlEx这个录像方式的回调函数,不是BRAC_StreamRecordCtrl的回调函数,两者返回的参数是不一样的。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
42#
发表于 2015-4-20 21:24:23 | 只看该作者
我现在是要设置对应于BRAC_StreamRecordCtrlEx这个录像方式的回调函数

您好,请使用这个API来设置:BRAS_SetCallBack(BRAS_CBTYPE_SERVERRECORDEX,  BRAS_OnServerRecordEx_CallBack, ...);
回复 支持 反对

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
43#
 楼主| 发表于 2015-4-21 09:21:12 | 只看该作者
admin 发表于 2015-4-20 21:24
您好,请使用这个API来设置:BRAS_SetCallBack(BRAS_CBTYPE_SERVERRECORDEX,  BRAS_OnServerRecordEx_Cal ...

好的,谢谢,我试试
回复 支持 反对

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
44#
 楼主| 发表于 2015-4-21 11:31:39 | 只看该作者
admin 发表于 2015-4-20 21:24
您好,请使用这个API来设置:BRAS_SetCallBack(BRAS_CBTYPE_SERVERRECORDEX,  BRAS_OnServerRecordEx_Cal ...

我用了这,现在回调正常了。
但是在客户端调用StreamRecordCtrlEx时,参数userstr为“”,但其实应该是有值的。日志如下:
[2015-04-21 11:32:39(029)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2015-04-21 11:32:39(030)]        Load BRAnyChatCore.dll success!(V5.2 Build Time:Feb 10 2015 14:09:19)
[2015-04-21 11:32:39(036)]        Load BRMiscUtil.dll success!(V5.2 Build Time:Feb 10 2015 14:07:32)
[2015-04-21 11:32:39(067)]        Load BRMediaUtil.dll success!(V5.2 Build Time:Feb 10 2015 14:07:48)
[2015-04-21 11:32:39(068)]        Load BRMediaShow.dll success!(V5.2 Build Time:Feb 10 2015 14:07:40)
[2015-04-21 11:32:39(069)]        Load BRMediaCore.dll success!(V5.2 Build Time:Feb 10 2015 14:08:00)
[2015-04-21 11:32:39(083)]        Apply video parameter:1280x720, bitrate:600000, quality:0, gop:20, fps:12, preset:3, codec:0
[2015-04-21 11:32:39(084)]        Invoke        BRAC_Connect(192.168.52.144,8906)=0
[2015-04-21 11:32:39(084)]        Invoke        LoginServer(username=lincy)
[2015-04-21 11:32:39(085)]        Invoke        EnterRoom(lincy)
[2015-04-21 11:32:39(176)]        CheckClientSocketLink         Connect(ip=192.168.52.144,port=8906)
[2015-04-21 11:32:39(297)]        Server version: V5.2(Build Time:2015-02-10 14:08:34, Server OS:Windows)
[2015-04-21 11:32:39(487)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2015-04-21 11:32:39(938)]        Message        OnLoginSystem(userid=24,errorcode=0,username=lincy), msg deliver worked(1)
[2015-04-21 11:32:39(939)]        Server running time: 0 days, 18 hours, 3 minutes, license mode:0
[2015-04-21 11:32:39(970)]        Connection to streaming media server successfully!(udp delay:16ms)
[2015-04-21 11:32:40(180)]        Message        OnEnterRoom(roomid=83,errorcode=0,siteindex=0)
[2015-04-21 11:32:40(181)]        Message        OnReceiveOnlineUser(count=1,roomid=83)
[2015-04-21 11:32:40(181)]        Invoke        BRAC_SetVideoPos(dwUserId:-1, hWnd:0x311ca, l:0, t:0, r:340, b:284)
[2015-04-21 11:32:40(183)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2015-04-21 11:32:40(183)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2015-04-21 11:32:40(201)]        WaveIn Audio Capture Driver(麦克风 (HD Webcam C270))
[2015-04-21 11:32:40(202)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2015-04-21 11:32:40(203)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2015-04-21 11:32:40(215)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2015-04-21 11:32:40(245)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2015-04-21 11:32:40(311)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(311)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(312)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(312)]        MinCroppingSize(320, 176)        MaxCroppingSize(320, 176)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(313)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(313)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(314)]        MinCroppingSize(432, 240)        MaxCroppingSize(432, 240)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(314)]        MinCroppingSize(544, 288)        MaxCroppingSize(544, 288)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(315)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(315)]        MinCroppingSize(752, 416)        MaxCroppingSize(752, 416)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(316)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(316)]        MinCroppingSize(800, 600)        MaxCroppingSize(800, 600)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(317)]        MinCroppingSize(864, 480)        MaxCroppingSize(864, 480)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(317)]        MinCroppingSize(960, 544)        MaxCroppingSize(960, 544)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(318)]        MinCroppingSize(960, 720)        MaxCroppingSize(960, 720)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(318)]        MinCroppingSize(1024, 576)        MaxCroppingSize(1024, 576)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(319)]        MinCroppingSize(1184, 656)        MaxCroppingSize(1184, 656)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(319)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(320)]        MinCroppingSize(1280, 960)        MaxCroppingSize(1280, 960)        Format(RGB24, 0x0)
[2015-04-21 11:32:40(320)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(321)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(321)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(322)]        MinCroppingSize(320, 176)        MaxCroppingSize(320, 176)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(322)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(323)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(323)]        MinCroppingSize(432, 240)        MaxCroppingSize(432, 240)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(324)]        MinCroppingSize(544, 288)        MaxCroppingSize(544, 288)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(325)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(325)]        MinCroppingSize(752, 416)        MaxCroppingSize(752, 416)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(326)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(326)]        MinCroppingSize(800, 600)        MaxCroppingSize(800, 600)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(327)]        MinCroppingSize(864, 480)        MaxCroppingSize(864, 480)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(327)]        MinCroppingSize(960, 544)        MaxCroppingSize(960, 544)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(328)]        MinCroppingSize(960, 720)        MaxCroppingSize(960, 720)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(328)]        MinCroppingSize(1024, 576)        MaxCroppingSize(1024, 576)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(329)]        MinCroppingSize(1184, 656)        MaxCroppingSize(1184, 656)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(329)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(329)]        MinCroppingSize(1280, 960)        MaxCroppingSize(1280, 960)        Format(YUV420P, 0x30323449)
[2015-04-21 11:32:40(330)]        Video Config Size(1280, 720)        Format(RGB24, 12fps)
[2015-04-21 11:32:40(665)]        Message        OnUserEnterRoom(userid=-240,nickname=customerTTTNETPF_123458,siteindex=1)
[2015-04-21 11:32:40(681)]        video init finish:1280x720, RGB24, fps:12
[2015-04-21 11:32:40(705)]        Invoke        BRAC_SetVideoPos(dwUserId:-240, hWnd:0x311d4, l:0, t:0, r:557, b:300)
[2015-04-21 11:32:40(706)]        Invoke        UserCameraControl(userid=-240,bOpen=1)
[2015-04-21 11:32:40(706)]        Invoke        UserSpeakControl(userid=-240,bOpen=1)
[2015-04-21 11:32:41(077)]        On Remote UserCameraControl(dwUserId:-240, bOpen:1)
[2015-04-21 11:32:41(157)]        Message        OnP2PConnectState(userid=-240, state=1)
[2015-04-21 11:32:41(277)]        On Remote UserSpeakControl(dwUserId:-240, bOpen:1)
[2015-04-21 11:32:41(317)]        Message        OnP2PConnectState(userid=-240, state=3)
[2015-04-21 11:32:42(251)]        video codec init:codec:1, 12fps, 1280x720, bitrate:600kbps, quality:0, preset:3, gop:20, handle:3
[2015-04-21 11:32:51(443)]        Invoke        StreamRecordCtrlEx(-240, 1, 0x137, 0, )=0
[2015-04-21 11:32:57(866)]        Invoke        StreamRecordCtrlEx(-240, 0, 0x137, 0, )=0
回复 支持 反对

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
45#
 楼主| 发表于 2015-4-21 11:33:59 | 只看该作者
调用代码如下:
ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
            AnyChatCoreSDK.StreamRecordCtrlEx(customerUID, true, flags, 0, "ChannelId"); //开始录像

ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
                AnyChatCoreSDK.StreamRecordCtrlEx(customerUID, false, flags, 0, "ChannelId"); //结束录像
回复 支持 反对

使用道具 举报

46#
发表于 2015-4-21 12:01:49 | 只看该作者
lincy 发表于 2015-4-21 11:33
调用代码如下:
ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER + AnyChatCoreSDK.ANYCHAT_RE ...

Invoke        StreamRecordCtrlEx(-240, 0, 0x137, 0, )=0
AnyChatCoreSDK.StreamRecordCtrlEx(customerUID, false, flags, 0, "ChannelId"); //结束录像
看代码是正确的,但是日志并没有展示,是不是代码并没有保存并且正常执行
回复 支持 反对

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
47#
 楼主| 发表于 2015-4-21 13:01:44 | 只看该作者
本帖最后由 lincy 于 2015-4-21 13:05 编辑
佰锐科技-颜荣芝 发表于 2015-4-21 12:01
Invoke        StreamRecordCtrlEx(-240, 0, 0x137, 0, )=0
AnyChatCoreSDK.StreamRecordCtrlEx(custom ...


代码应该执行了吧,不然日志里不会有,而且我在这两句代码处设置了断点,应该是执行到了,且程序中只有这两处用到了StreamRecordCtrlEx。
[2015-04-21 11:32:51(443)]        Invoke        StreamRecordCtrlEx(-240, 1, 0x137, 0, )=0
[2015-04-21 11:32:57(866)]        Invoke        StreamRecordCtrlEx(-240, 0, 0x137, 0, )=0

这两句有问题吧,最后那个参数的位置是空的。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
48#
发表于 2015-4-21 13:05:10 | 只看该作者
请尝试转一下字符串的格式,AnyChat目前是多字节编码(GB2312)的,如果您是Unicode的字符串则需要转换一下,
回复 支持 反对

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
49#
 楼主| 发表于 2015-4-21 13:45:33 | 只看该作者
admin 发表于 2015-4-21 13:05
请尝试转一下字符串的格式,AnyChat目前是多字节编码(GB2312)的,如果您是Unicode的字符串则需要转换一下 ...


我转换了,但日志显示还是老样子。转换代码如下:
Encoding gb2312 = Encoding.GetEncoding("GB2312");
string gbChannelId = gb2312.GetString(Encoding.Convert(Encoding.Unicode, gb2312, Encoding.Unicode.GetBytes(ChannelId)));
ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
AnyChatCoreSDK.StreamRecordCtrlEx(customerUID, true, flags, 0, gbChannelId); //开始录像

Encoding gb2312 = Encoding.GetEncoding("GB2312");
string gbChannelId = gb2312.GetString(Encoding.Convert(Encoding.Unicode, gb2312, Encoding.Unicode.GetBytes(ChannelId)));
ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
AnyChatCoreSDK.StreamRecordCtrlEx(customerUID, false, flags, 0, gbChannelId); //结束录像
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 16:06 , Processed in 0.128768 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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