AnyChat技术支持论坛

标题: 求教停止录像的问题,急!!!!! [打印本页]

作者: liuyanan_info    时间: 2017-10-21 09:24
标题: 求教停止录像的问题,急!!!!!
我现在用BRAC_StreamRecordCtrlEx来启动录像,但是用BRAC_StreamRecordCtrlEx来停止录像总是报错,返回的errorcode是354。如果我不点击停止,而是直接退出房间,那系统自动调用的停止函数却可以执行。请问,这个停止的函数具体怎么调用?另处,能不能发一个错误代码的详细说明?技术文档里的错误代码提示找不到相当的说明。
附代码如下。

//设置开始录像按钮
function startrecord(){
        var eset = BRAC_SetSDKOption(BRAC_SO_RECORD_FILETYPE, 0);    // 录制为MP4格式
        var dwFlags = ANYCHAT_RECORD_FLAGS_VIDEO + ANYCHAT_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_SERVER + BRAC_RECORD_FLAGS_LOCALCB; //音频+视频+服务器录制+触发回调
        var myname =formateDateAndTimeToString()+"_"+mSelfUserId+"_"+mTargetUserId;
        var szUserStr = '{"filename":"'+myname+'"}';
        var ecode = BRAC_StreamRecordCtrlEx(mTargetUserId, 1,  dwFlags, mSelfUserId, szUserStr);
        AddLog("BRAC_StreamRecordCtrl(start)=" + ecode, LOG_TYPE_API);
        if(ecode == 0){
                GetID("startrecord").innerHTML = "正在录像";
        }else{
                alert("error!");
        }
}


//设置停止录像按钮
function stoprecord(){
        var ecode = BRAC_StreamRecordCtrlEx(mTargetUserId, 0, 0, mSelfUserId, "");
        AddLog("BRAC_StreamRecordCtrl(stop)=" + ecode, LOG_TYPE_API);
        if(ecode == 0){
                GetID("startrecord").innerHTML = "开始录像";
        }else{
                alert("error!");
        }
}


作者: 佰锐科技-刘冬明    时间: 2017-10-22 12:21
您好,根据354错误,是媒体流缓冲时间不足,有可能是您的录制时间不足10秒。具体问题分析还得麻烦您发下日志来看看,帮您分析下。
开始和停止除了bStartRecord启动录像1,或是停止录像0这个参数不同外,其它请统一一样。
作者: liuyanan_info    时间: 2017-10-26 13:12
佰锐科技-刘冬明 发表于 2017-10-22 12:21
您好,根据354错误,是媒体流缓冲时间不足,有可能是您的录制时间不足10秒。具体问题分析还得麻烦您发下日 ...

再请教您一个问题,我现在怎么能获取到录像的分辩率,BRAC_QueryUserState(dwParam,BRAC_USERSTATE_VIDEOSIZE)
这个方法总是不能返回数据。系统录像的时候有没有默认的分辩率设置。
作者: 佰锐科技-刘冬明    时间: 2017-10-27 09:27
有的,您如果不设置本地采集分辨率的话(BRAC_SO_LOCALVIDEO_WIDTHCTRL,BRAC_SO_LOCALVIDEO_HEIGHTCTRL),就会按服务器默认配置参数设置。
作者: liuyanan_info    时间: 2017-10-28 16:41
佰锐科技-刘冬明 发表于 2017-10-27 09:27
有的,您如果不设置本地采集分辨率的话(BRAC_SO_LOCALVIDEO_WIDTHCTRL,BRAC_SO_LOCALVIDEO_HEIGHTCTRL) ...

对,我就是这个意思,但是在我设置采集分辩率的时候是不是应该先获取对方视频设备的分辩率?怎么获取?
作者: 佰锐科技-刘冬明    时间: 2017-10-30 08:59
本帖最后由 佰锐科技-刘冬明 于 2017-10-30 09:00 编辑

您可通过“BRAC_QueryUserState”接口传进BRAC_USERSTATE_VIDEOSIZE参数随时查询指定用户的视频分辨率。详情可查看开发文档。同时本地采集分辨率是采集自己的,与对方分辨率无关。
作者: liuyanan_info    时间: 2017-10-31 13:07
佰锐科技-刘冬明 发表于 2017-10-30 08:59
您可通过“BRAC_QueryUserState”接口传进BRAC_USERSTATE_VIDEOSIZE参数随时查询指定用户的视频分辨率。详 ...

我现在的情况是获取不到用户的分辩率。
var remoteuservideosize=BRAC_QueryUserStateInt(mTargetUserId,BRAC_USERSTATE_VIDEOSIZE);
alert(uservideosize);
现在是这样,如果对方在线的话,获取自己和对方的分辩率的值是像15728960、31457920这样的;
如果对方不在线,就可以获取自己的分辩率,值就是像320*240、640*480这样的。
是不是我的方法用的不对。但用BRAC_QueryUserStateString方法也不行。
作者: 佰锐科技-梁国桦    时间: 2017-10-31 14:04
您好,通过这个接口获取的分辨率,低16位表示宽度,高16位表示高度,用以下代码来获取:
var height=remoteuservideosize>>16;  //获取高度
var width=remoteuservideosize & 0x0000ffff;  //获取宽度
作者: liuyanan_info    时间: 2017-11-1 16:39
佰锐科技-梁国桦 发表于 2017-10-31 14:04
您好,通过这个接口获取的分辨率,低16位表示宽度,高16位表示高度,用以下代码来获取:
var height=remot ...

还有一个问题,我现在是32位系统,如果换成64位系统的话,tomcat下的anychatserver4java.dll、AnyChatServerSDK.dll、AnyChatServerSDK.ini、AnyChatServerSDK.log这几个文件通用不通用?
作者: admin    时间: 2017-11-1 16:41
也需要更换为64bit的版本,参考:AnyChat Server SDK支持64bit Java环境
作者: liuyanan_info    时间: 2017-11-3 11:21
admin 发表于 2017-11-1 16:41
也需要更换为64bit的版本,参考:AnyChat Server SDK支持64bit Java环境

还有个问题,我现在用花生壳把自己的电脑放到公网上。
然后外网登录提示OnAnyChatConnect(errorcode=115),这个错误是什么意思,我的内网用户可以登录,是不是要开哪个端口什么的。
作者: 佰锐科技-刘冬明    时间: 2017-11-3 12:37
请核实外网登陆的用户,使用什么浏览器。需IE9-11 火狐45-54 谷歌44以下 32位浏览器。
作者: liuyanan_info    时间: 2017-11-3 14:04
佰锐科技-刘冬明 发表于 2017-11-3 12:37
请核实外网登陆的用户,使用什么浏览器。需IE9-11 火狐45-54 谷歌44以下 32位浏览器。

64位的浏览器都支持哪些版本啊?

作者: 佰锐科技-刘冬明    时间: 2017-11-3 14:37
64位浏览器兼容性问题,所以请使用上述32位浏览器。
作者: liuyanan_info    时间: 2017-11-3 15:41
佰锐科技-刘冬明 发表于 2017-11-3 14:37
64位浏览器兼容性问题,所以请使用上述32位浏览器。

好吧,那再来一个问题吧,我现在PC端用的是anychatwebdome,中心服务器对应的业务服务器是用java开发的,如果我现在想让手机也可以和pc通话的话,应该用哪个app?
作者: 佰锐科技-刘冬明    时间: 2017-11-3 16:13
HelloAnyChat 即可




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