AnyChat技术支持论坛

标题: 关于web视频二次开发问题 [打印本页]

作者: lion521    时间: 2013-8-14 14:00
标题: 关于web视频二次开发问题
您好 我还是之前问你的那个客户,又要麻烦您,我做了一个web版的想实现点对点,我的思路是这样:用户打开网页,就自动分配一个用户名,然后出现视频界面,有个input输入对方用户名,然后点击视频按钮,就开始视频,
现在问题是:我是不是要登录时候就设置成私聊,还有,当我点击开始 对方是不是就直接开始视频了,下面是我按钮的代码
//开始视频按钮
    GetID("beginVideo").onclick = function () {
        if (GetID("appUserTextBox").value != "") {

            RequestOtherUserVideoNew(GetID("appUserTextBox").value);
        }
        else {
            GetID("appUserTextBox").style.color = "red";
            AddLog("The user name can not be empty!", LOG_TYPE_ERROR);
            GetID("appUserTextBox").focus();
        }
    }
    //停止视频按钮
    GetID("stopVideo").onclick = function () {
        BRAC_UserCameraControl(mTargetUserId, 0);
        BRAC_UserSpeakControl(mTargetUserId, 0);
    }


作者: lion521    时间: 2013-8-14 14:01
// 打开指定用户的音视频
function RequestOtherUserVideoNew(userid) {
   
   
    if (mTargetUserId != -1) {
        BRAC_UserCameraControl(mTargetUserId, 0);
        BRAC_UserSpeakControl(mTargetUserId, 0);
    }
    GetID(userid + "_MicrophoneTag").src = "./images/advanceset/microphone_true.png"; // 点亮话筒图片
    GetID(userid + "_UserDiv").style.backgroundColor = "#E6E6E6"; //设置被点击<a>元素的字体颜色

    mTargetUserId = userid;                                         //设置被点用户ID为全局变量
    BRAC_UserCameraControl(userid, 1);                 // 请求对方视频
    BRAC_UserSpeakControl(userid, 1);                 // 请求对方语音
    // 设置远程视频显示位置
    BRAC_SetVideoPos(userid, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE");
    MicrophoneOnclick(userid); // 为当前视频会话用户话筒按钮添加点击事件
}
作者: 廖斌    时间: 2013-8-14 14:22
lion521 发表于 2013-8-14 14:01
// 打开指定用户的音视频
function RequestOtherUserVideoNew(userid) {
   

您好,私聊模式要进入房间成功之后才可以设置。如果是私聊模式的话,会发起一个私聊请求,对方同意之后,才能进行音视频交流。sdk的调用流程可以参考http://www.anychat.cn/faq/index. ... =193&artlang=zh
作者: admin    时间: 2013-8-14 14:35
您好,不需要设置为私聊的,两个用户进入同一个房间,首先打开本地的音频、视频设备(UserSpeakControl、UserCameraControl,自己的用户ID,或-1),然后互相请求对方的音频、视频(UserSpeakControl、UserCameraControl,对方的用户ID),便可以互相通话了。
作者: lion521    时间: 2013-8-16 13:38
您好 我做了一个视频聊天的,在ie中可以执行,就是每次打开 提示我是否允许插件什么的,在傲游中就直接登录不进去服务器,
BRAC_Connect(10.181.1.114,8906)=0 13:36:06
OnAnyChatLinkClose(reason=0, errorcode=0) 13:36:26
OnAnyChatLinkClose(reason=0, errorcode=0) 13:36:48
OnAnyChatLinkClose(reason=0, errorcode=0) 13:37:17
OnAnyChatLinkClose(reason=0, errorcode=0) 13:37:42
OnAnyChatLinkClose(reason=0, errorcode=0) 13:38:03

就一直这样提示
作者: admin    时间: 2013-8-16 13:47
您好,可以试试Firefox、Chrome等其它浏览器?另外您在傲游中登录不了时,可以把安装目录下的日志文件:BRAnyChatCore.log发上来我们分析一下,谢谢。
作者: lion521    时间: 2013-8-16 13:50
哪个安装目录,我没找到啊
作者: admin    时间: 2013-8-16 13:51
C:\Program Files (x86)\BaiRuiTech\AnyChatWeb
作者: lion521    时间: 2013-8-16 14:05
您好 刚才那个在傲游也可以了,但是现在出现个问题 我请求视频时 对方和我都没反应,日志是这样的
handle:2
[2013-08-16 14:00:54(724)]        Message        OnP2PConnectState(userid=-6, state=1)
[2013-08-16 14:00:54(724)]        Message        OnP2PConnectState(userid=-7, state=1)
[2013-08-16 14:00:54(802)]        Message        OnP2PConnectState(userid=-6, state=3)
[2013-08-16 14:00:54(802)]        Message        OnP2PConnectState(userid=-7, state=3)
[2013-08-16 14:00:55(021)]        Message        OnP2PConnectState(userid=-5, state=3)
[2013-08-16 14:01:11(521)]        Invoke        UserCameraControl(userid=4342,bOpen=1)
[2013-08-16 14:01:11(521)]        Invoke        UserSpeakControl(userid=4342,bOpen=1)
[2013-08-16 14:01:11(521)]        Invoke        UserSpeakControl(userid=4342,bOpen=1)
作者: lion521    时间: 2013-8-16 14:09
//自定义函数 请求远程视频用户
function SetTheVideo(remotUserId) {
    var status=BRAC_GetCameraState(remotUserId);
        if(status==0){
                alert("对方没有摄像头");
                }else if (status==1){
                        alert("对方没有打开摄像头");
                        }
        BRAC_UserCameraControl(remotUserId, 1); // 请求对方视频
        BRAC_UserSpeakControl(remotUserId, 1); // 请求对方语音
        BRAC_SetVideoPos(remotUserId,  GetID("RemoteVideo"), "ANYCHAT_VIDEO_REMOTE"); //    设置远程视频显示位置
        MicrophoneOpen(remotUserId);
}
这是我打开视频的方法
作者: admin    时间: 2013-8-16 14:17
您好,请将上面代码中的if条件去掉再试试。
作者: lion521    时间: 2013-8-16 14:29
[2013-08-16 14:27:59(288)]        Message        OnUserEnterRoom(userid=-11,nickname=2652,siteindex=2)
[2013-08-16 14:27:59(803)]        Message        OnP2PConnectState(userid=-11, state=1)
[2013-08-16 14:27:59(850)]        Message        OnP2PConnectState(userid=-11, state=3)
不行 对方申请我 还是我申请对方都没反应 上面是日志
作者: admin    时间: 2013-8-16 14:34
您好,请把两边的日志文件:BRAnyChatCore.log发上来我们分析一下,谢谢。
作者: lion521    时间: 2013-8-16 14:44
13-08-16 14:39:26(288)]        video init finish:320x240, YUV420, fps:25
[2013-08-16 14:39:26(303)]        WaveIn Audio Capture Driver(Realtek HD Audio Input)
[2013-08-16 14:39:26(303)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2013-08-16 14:39:26(303)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2013-08-16 14:39:26(303)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2013-08-16 14:39:26(334)]        Audio FX Status: VAD:1, NS:2, AGC:8, AEC:4
[2013-08-16 14:39:26(428)]        video codec init:codec:1, 15fps, 320x240, bitrate:90000, quality:3, preset:3, gop:30, handle:2
[2013-08-16 14:39:26(506)]        Message        OnP2PConnectState(userid=-11, state=1)
[2013-08-16 14:39:26(600)]        Message        OnP2PConnectState(userid=-11, state=3)
[2013-08-16 14:40:36(225)]        Message        OnUserEnterRoom(userid=-13,nickname=2954,siteindex=1)
[2013-08-16 14:40:36(694)]        Message        OnP2PConnectState(userid=-13, state=1)
[2013-08-16 14:40:36(756)]        Message        OnP2PConnectState(userid=-13, state=3)
[2013-08-16 14:42:59(741)]        Message        OnUserLeaveRoom(userid=-11,siteindex=2)
作者: lion521    时间: 2013-8-16 14:44
这个是我的,对方没有这个目录
作者: lion521    时间: 2013-8-16 14:46
找到了

2013-08-16 14:40:37(829)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2013-08-16 14:40:37(830)]        Load BRAnyChatCore.dll success!(V4.8 Build Time:Jul 31 2013 20:22:14)
[2013-08-16 14:40:37(832)]        Load BRMiscUtil.dll success!(V4.8 Build Time:Jul 31 2013 20:17:45)
[2013-08-16 14:40:37(855)]        Load BRMediaUtil.dll success!(V4.8 Build Time:Jul 31 2013 20:22:10)
[2013-08-16 14:40:37(855)]        Load BRMediaShow.dll success!(V4.8 Build Time:Jul 31 2013 20:17:53)
[2013-08-16 14:40:37(856)]        Load BRMediaCore.dll success!(V4.8 Build Time:Jul 31 2013 20:18:10)
[2013-08-16 14:40:37(867)]        Invoke        BRAC_Connect(10.181.1.114,8906)=0
[2013-08-16 14:40:37(868)]        Invoke        LoginServer(username=2954)
[2013-08-16 14:40:37(972)]        CheckClientSocketLink         Connect(ip=10.181.1.114,port=8906)
[2013-08-16 14:40:38(142)]        Server version: V4.8(Build Time:2013-07-31 20:18:33, Server OS:Windows)
[2013-08-16 14:40:38(147)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2013-08-16 14:40:38(348)]        Message        OnLoginSystem(userid=-13,errorcode=0,username=2954), msg deliver worked(1)
[2013-08-16 14:40:38(348)]        Invoke        EnterRoom(roomid=1)
[2013-08-16 14:40:38(351)]        Connection to streaming media server successfully!(udp delay:0ms)
[2013-08-16 14:40:38(358)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=1)
[2013-08-16 14:40:38(358)]        Unrelated audio mixer,name:主音量, ComponentType:0x7, Pname:立体声混音 (VIA High Definition, type:0
[2013-08-16 14:40:38(361)]        Message        OnReceiveOnlineUser(count=3,roomid=1)
[2013-08-16 14:40:38(362)]        Invoke        UserCameraControl(userid=-13,bOpen=1)
[2013-08-16 14:40:38(375)]        Invoke        UserSpeakControl(userid=-13,bOpen=1)
[2013-08-16 14:40:38(403)]        Win7 AEC Audio Capture Driver(立体声混音 (VIA High Definition Audio))
[2013-08-16 14:40:38(405)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2013-08-16 14:40:38(406)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2013-08-16 14:40:38(422)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2013-08-16 14:40:38(426)]        ****Open Local Video Fail,ErrorCode:10011
[2013-08-16 14:40:38(463)]        Audio FX Status: VAD:1, NS:2, AGC:8, AEC:4
[2013-08-16 14:40:38(612)]        Message        OnP2PConnectState(userid=-11, state=1)
[2013-08-16 14:40:38(822)]        Message        OnP2PConnectState(userid=-12, state=1)
[2013-08-16 14:40:38(903)]        Message        OnP2PConnectState(userid=-12, state=3)
[2013-08-16 14:40:39(122)]        Message        OnP2PConnectState(userid=-11, state=3)
[2013-08-16 14:40:48(545)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:40:48(545)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:40:49(072)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:40:49(072)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:40:49(072)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:40:49(072)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:40:49(448)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:40:49(448)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:40:49(449)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:40:49(449)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:40:49(809)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:40:49(809)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:40:49(809)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:40:49(809)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:40:50(200)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:40:50(200)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:40:50(200)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:40:50(200)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:41:03(208)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:41:03(208)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:41:03(208)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:41:03(208)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:41:03(768)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:41:03(768)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:41:03(768)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:41:03(769)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:41:04(151)]        Invoke        UserCameraControl(userid=2291,bOpen=0)
[2013-08-16 14:41:04(152)]        Invoke        UserSpeakControl(userid=2291,bOpen=0)
[2013-08-16 14:41:04(152)]        Invoke        UserCameraControl(userid=2291,bOpen=1)
[2013-08-16 14:41:04(152)]        Invoke        UserSpeakControl(userid=2291,bOpen=1)
[2013-08-16 14:43:01(901)]        Message        OnUserLeaveRoom(userid=-11,siteindex=2)

作者: admin    时间: 2013-8-16 14:46
您好,没有在日志里面看到请求视频流的调用:UserCameraControl()?请检查一下您的代码,可参考AnyChat SDK开发流程:http://www.anychat.cn/faq/index. ... =193&artlang=zh
作者: lion521    时间: 2013-8-16 15:03
我看了一下 有一个地方不明白 BRAC_FUNC_VIDEO_AUTODISP标志是在哪设置
作者: lion521    时间: 2013-8-16 15:15
没什么不一样的啊,就是不能视频,聊天都可以,不知道哪里出问题了,也不包错误
作者: admin    时间: 2013-8-16 15:18
您好,在您的日志中有出错提示:****Open Local Video Fail,ErrorCode:10011,可能是设备被占用了,是否有其它程序打开了摄像头?重启计算机再看看?
作者: lion521    时间: 2013-8-16 15:25
我用你们的那个demo测试就可以
作者: lion521    时间: 2013-8-16 15:26
而且 BRAC_UserCameraControl(6819)=0 15:25:48
返回值是成功的
作者: lion521    时间: 2013-8-16 15:32
可以传输文件吗,要不我把我的demo给你
作者: admin    时间: 2013-8-16 15:35
您好,您可以对比一下标准Demo所产生的日志文件和您自己的程序的日志文件,看看有哪些地方有差异,然后再检查代码看是什么地方没有处理好。
作者: lion521    时间: 2013-8-16 16:08
你好我测试了看了一下,看了日志 我感觉有问题的地方,给您看看帮我参谋一下 谢谢
[2013-08-16 15:52:53(395)]        Video Config Size(320, 240)        Format(YUV420P, 25fps)
[2013-08-16 15:52:53(458)]        video init finish:320x240, YUV420, fps:25
[2013-08-16 15:52:53(473)]        WaveIn Audio Capture Driver(Realtek HD Audio Input)
[2013-08-16 15:52:53(473)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2013-08-16 15:52:53(473)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2013-08-16 15:52:53(473)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2013-08-16 15:52:53(489)]        Audio FX Status: VAD:1, NS:2, AGC:8, AEC:4
[2013-08-16 15:52:53(614)]        video codec init:codec:1, 15fps, 320x240, bitrate:90000, quality:3, preset:3, gop:30,
作者: lion521    时间: 2013-8-16 16:09
我的远程视频的div大小是不是要固定320 240 还有 其他的是不是也有什么要求
作者: admin    时间: 2013-8-16 16:11
您好,与DIV的大小没有关系。
作者: あ宇龙!お    时间: 2013-11-15 09:36
我电脑上已经装了贵公司的插件,但是BRAC_InitSDK(NEED_ANYCHAT_APILEVEL);         //初始化插件  一直失败??这是什么原因?
作者: あ宇龙!お    时间: 2013-11-15 09:37
补充 相关代码:function LogicInit() {
    setTimeout(function () {       
        //检查是否安装了插件       
        var NEED_ANYCHAT_APILEVEL = "0";                                         // 定义业务层需要的AnyChat API Level
        var errorcode = BRAC_InitSDK(NEED_ANYCHAT_APILEVEL);         //初始化插件
        //AddLog("BRAC_InitSDK(" + NEED_ANYCHAT_APILEVEL + ")=" + errorcode, LOG_TYPE_API);
                window.alert("判断插件:"+errorcode);
        if (errorcode == GV_ERR_SUCCESS) {
                        window.alert("有插件");
                        BRAC_Login($username,$uid);
           // ShowLoginDiv(true);
            //AddLog("AnyChat Plugin Version:" + BRAC_GetVersion(0), LOG_TYPE_NORMAL);
            //AddLog("AnyChat SDK Version:" + BRAC_GetVersion(1), LOG_TYPE_NORMAL);
            //AddLog("Build Time:" + BRAC_GetSDKOptionString(BRAC_SO_CORESDK_BUILDTIME), LOG_TYPE_NORMAL);
        } else {                                                 // 没有安装插件,或是插件版本太旧,显示插件下载界面
                        window.alert("没有插件");
            GetID("prompt_div").style.display = "block";
            SetDivTop("prompt_div", 10);
            if (errorcode == GV_ERR_PLUGINNOINSTALL)
                GetID("prompt_div_line1").innerHTML = "首次进入需要安装插件,请点击下载按钮进行安装!";
            else if (errorcode == GV_ERR_PLUGINOLDVERSION)
                GetID("prompt_div_line1").innerHTML = "检测到当前插件的版本过低,请下载安装最新版本!";
        }
    }, 500);
       
}

作者: あ宇龙!お    时间: 2013-11-15 09:39
E:1.jpg
作者: あ宇龙!お    时间: 2013-11-15 09:40
代码相关检测插件

1.jpg (111.52 KB, 下载次数: 3774)

代码

代码

作者: admin    时间: 2013-11-15 09:49
您好,请问您的浏览器类型、版本号是多少?




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