设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 13113|回复: 27
打印 上一主题 下一主题

anychat.GetUserVideoWidth(id)的值问题

[复制链接]

7

主题

43

帖子

121

积分

注册会员

Rank: 2

积分
121
跳转到指定楼层
楼主
发表于 2014-2-19 17:31:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我打开摄像头,并且anychat.GetCameraState(id) 的值为2,但是anychat.GetUserVideoWidth(id)的值却为为0
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
沙发
发表于 2014-2-19 17:54:31 | 只看该作者
您好,打开摄像头是做了什么操作呢?您在标准demo视频通话中,获取这个两个状态是怎样的呢?
回复 支持 反对

使用道具 举报

7

主题

43

帖子

121

积分

注册会员

Rank: 2

积分
121
板凳
 楼主| 发表于 2014-2-19 17:56:50 | 只看该作者
if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
                        if(AnyChatCoreSDK.mCameraHelper.GetCameraNumber() > 1) {
                                // 默认打开前置摄像头
                                AnyChatCoreSDK.mCameraHelper.SelectVideoCapture(AnyChatCoreSDK.mCameraHelper.CAMERA_FACING_FRONT);
                        }
                }else {
                        String[] strVideoCaptures = anychat.EnumVideoCapture();
                        if (strVideoCaptures != null && strVideoCaptures.length > 1) {
                                // 默认打开前置摄像头
                                for(int i = 0; i < strVideoCaptures.length; i++) {
                                        String strDevices=strVideoCaptures[i];
                                        if(strDevices.indexOf("Front")>=0) {
                                                anychat.SelectVideoCapture(strDevices);
                                                break;
                                        }
                                }
                        }
                }

anychat.UserCameraControl(-1, 1);
anychat.UserSpeakControl(-1, 1);

if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
                        SurfaceHolder holder = selfSurfaceView.getHolder();
                        if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                                holder.setFormat(PixelFormat.RGB_565);
                                holder.setFixedSize(anychat.GetUserVideoWidth(selfId), anychat.GetUserVideoHeight(selfId));
                        }
                        Surface s = holder.getSurface();
                        anychat.SetVideoPos(selfId, s, 0, 0, 0, 0);
                        selfSurfaceOpen = true;
                }
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
地板
发表于 2014-2-19 18:10:48 | 只看该作者
bdcn 发表于 2014-2-19 17:56
if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEO ...

您在标准demo视频通话中,获取这个两个状态是怎样的呢?
回复 支持 反对

使用道具 举报

7

主题

43

帖子

121

积分

注册会员

Rank: 2

积分
121
5#
 楼主| 发表于 2014-2-20 11:04:51 | 只看该作者
[2014-02-20 11:02:31(418)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2014-02-20 11:02:31(419)]        Load libanychatcore.so success!(V4.9 Build Time:Feb  9 2014 10:22:56)
[2014-02-20 11:02:31(420)]        Android OS SDK Version:16, Support ARMv7:2, Support Neon:4
[2014-02-20 11:02:31(430)]        Load libmediautil_v7.so success!(V4.9 Build Time:Jan  1 2014 03:44:48)
[2014-02-20 11:02:31(436)]        Load libmediashow_4.0.so success!(V4.9 Build Time:Jan  1 2014 03:44:10)
[2014-02-20 11:02:31(444)]        Load libmediacore_4.1.so success!(V4.9 Build Time:Jan  1 2014 03:44:31)
[2014-02-20 11:02:31(446)]        CPU:1990.21 MIPS, Hardware:Amlogic Meson6 g04 customer platform
[2014-02-20 11:02:33(211)]        Invoke        BRAC_Connect(192.168.8.209,8906)=0
[2014-02-20 11:02:33(218)]        Invoke        LoginServer(username=test06)
[2014-02-20 11:02:33(260)]        CheckClientSocketLink         Connect(ip=192.168.8.209,port=8906)
[2014-02-20 11:02:33(311)]        Server version: V4.9(Build Time:2014-01-02 23:02:53, Server OS:Linux)
[2014-02-20 11:02:33(352)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2014-02-20 11:02:33(464)]        Message        OnLoginSystem(userid=294,errorcode=0,username=test06), msg deliver worked(0)
[2014-02-20 11:02:33(475)]        Connection to streaming media server successfully!(udp delay:5ms)
[2014-02-20 11:02:33(763)]        Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2014-02-20 11:02:33(764)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2014-02-20 11:02:33(764)]        Invoke        BRAC_SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2014-02-20 11:02:40(157)]        Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2014-02-20 11:02:40(157)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2014-02-20 11:02:40(157)]        Invoke        BRAC_SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2014-02-20 11:03:12(239)]        Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2014-02-20 11:03:12(240)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2014-02-20 11:03:12(240)]        Invoke        BRAC_SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2014-02-20 11:03:16(937)]        Invoke        EnterRoom(roomid=541)
[2014-02-20 11:03:16(997)]        Message        OnEnterRoom(roomid=541,errorcode=0,siteindex=1)
[2014-02-20 11:03:16(998)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2014-02-20 11:03:16(998)]        Message        OnReceiveOnlineUser(count=2,roomid=541)
[2014-02-20 11:03:17(030)]        Invoke        UserCameraControl(userid=292,bOpen=1)
[2014-02-20 11:03:17(031)]        Invoke        UserSpeakControl(userid=292,bOpen=1)
[2014-02-20 11:03:17(034)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2014-02-20 11:03:17(035)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2014-02-20 11:03:17(103)]        Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
[2014-02-20 11:03:17(122)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2014-02-20 11:03:17(391)]        Message        OnP2PConnectState(userid=292, state=2)
[2014-02-20 11:03:17(402)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2014-02-20 11:03:17(618)]        Message        OnP2PConnectState(userid=292, state=3)
[2014-02-20 11:03:20(133)]        On Remote UserCameraControl(dwUserId:292, bOpen:1)
[2014-02-20 11:03:20(174)]        On Remote UserSpeakControl(dwUserId:292, bOpen:1)
[2014-02-20 11:03:20(932)]        userid(292) video decode delay:47ms
[2014-02-20 11:03:38(194)]        Invoke        UserCameraControl(userid=-1,bOpen=0)
[2014-02-20 11:03:38(194)]        Invoke        UserSpeakControl(userid=-1,bOpen=0)
[2014-02-20 11:03:38(203)]        Invoke        UserCameraControl(userid=292,bOpen=0)
[2014-02-20 11:03:38(207)]        Invoke        UserSpeakControl(userid=292,bOpen=0)
[2014-02-20 11:03:38(808)]        Invoke        LeaveRoom(roomid=-1)        Elapse:114 ms
[2014-02-20 11:03:40(373)]        Invoke        LogoutServer(userid=294)        Elapse:24 ms
[2014-02-20 11:03:40(425)]        Invoke        BRAC_Release        Elapse:51 ms
回复 支持 反对

使用道具 举报

7

主题

43

帖子

121

积分

注册会员

Rank: 2

积分
121
6#
 楼主| 发表于 2014-2-20 11:05:51 | 只看该作者
这是日志,看看有什么问题吗
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
7#
发表于 2014-2-20 11:31:01 | 只看该作者
日志没有问题。你昨天说的GetUserVideoWidth获取不到宽度的问题,我昨天在标准demo上面试过了,Java采集和显示模式确实获取不到,不过不影响视频的显示。实际上对于Java模式,标准demo中的CheckVideoStatus函数没有用到。
回复 支持 反对

使用道具 举报

7

主题

43

帖子

121

积分

注册会员

Rank: 2

积分
121
8#
 楼主| 发表于 2014-2-20 11:40:29 | 只看该作者
                        if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
                                SurfaceHolder holder = myView.getHolder();
                                // 如果是采用内核视频显示(非Java驱动),则需要设置Surface的参数
                                if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                                        holder.setFormat(PixelFormat.RGB_565);
                                        holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                                }
                                Surface s = holder.getSurface();
                                anychat.SetVideoPos(-1, s, 0, 0, 0, 0);
                                bSelfVideoOpened = true;
                        }

但是现在获取不到宽度,这段代码没法执行,视频不显示
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
9#
发表于 2014-2-20 11:47:25 | 只看该作者
bdcn 发表于 2014-2-20 11:40
if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
                                SurfaceHolder h ...

是什么视频不显示,本地视频还是远程?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
10#
发表于 2014-2-20 11:55:23 | 只看该作者
廖斌 发表于 2014-2-20 11:47
是什么视频不显示,本地视频还是远程?

你视频采集和播放用的是Java模式还是内核模式?Java模式的话,不会涌动啊这端代码的
  1.   if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
  2.                                 SurfaceHolder holder = myView.getHolder();
  3.                                 // 如果是采用内核视频显示(非Java驱动),则需要设置Surface的参数
  4.                                 if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
  5.                                         holder.setFormat(PixelFormat.RGB_565);
  6.                                         holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
  7.                                 }
  8.                                 Surface s = holder.getSurface();
  9.                                 anychat.SetVideoPos(-1, s, 0, 0, 0, 0);
  10.                                 bSelfVideoOpened = true;
  11.                         }
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 10:21 , Processed in 0.174722 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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