设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

摄像头取得头像是与屏幕90°交,不是正常的。

[复制链接]

9

主题

82

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
跳转到指定楼层
楼主
发表于 2013-7-11 15:08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摄像头取得头像是与屏幕90°交,不是正常的。需要在那里设置参数?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
沙发
发表于 2013-7-11 15:50:01 | 只看该作者
您好,这属于设备方向的相关问题,您可以通过如下步骤来设置:

1、开启设备方向自适应功能,在初始化SDK成功之后调用如下的代码:
  1. // 设备方向自适应
  2. AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_AUTOROTATION, 1);
复制代码
2、屏蔽设备方向改变事件,可修改【src\com\bairuitech\anychat\AnyChatSensorHelper.java】中的【onOrientationChanged】方法,删除该方法中的代码,可直接return。

3、设置合适的设备方向,在打开摄像头之前调用如下的代码:
  1. // 设置设备方向(orientation取值范围:0 ~ 6)
  2. AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_ORIENTATION, orientation);
复制代码
回复 支持 反对

使用道具 举报

9

主题

82

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
板凳
 楼主| 发表于 2013-7-11 16:47:47 | 只看该作者
android的demo中 ApplyVideoConfig函数里面的参数是不是异步,调用后,接着去取里面的设置参数,取不到。?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
地板
发表于 2013-7-11 16:55:54 | 只看该作者
您好,请问您需要查询哪些参数呢?有些参数是只支持设置,不支持查询的。
回复 支持 反对

使用道具 举报

9

主题

82

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
5#
 楼主| 发表于 2013-7-11 17:03:20 | 只看该作者
        if (AnyChatCoreSDK
                                .GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
                        PandaLog.log("panda", "===9999999999999=========");
                        surface_local.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
                }

另外今天官方demo都无法获取本地摄像头,是服务的原因吗?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
6#
发表于 2013-7-11 17:18:24 | 只看该作者
参数“BRAC_SO_LOCALVIDEO_CAPDRIVER”是可以获取到的:
  1. AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER)
复制代码
无法获取本地摄像头是指:无法打开本地摄像头?或是无法获取本地摄像头的名称?或是其它?

另正常来说,本地摄像头的参数、状态等与服务是没有关系的。
回复 支持 反对

使用道具 举报

9

主题

82

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
7#
 楼主| 发表于 2013-7-11 17:25:01 | 只看该作者
但是确实是在调用ApplyVideoConfig后,那log没打印出来。另外你试试你们的官方demo,确实不能用。只是单向的,以前是双向的。哥呀,看你们的demo和文档都被坑死了,
anychat.GetCameraState(remoteUserID)这个得到的值是0也可以获取对方图像的。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
8#
发表于 2013-7-11 17:35:34 | 只看该作者
您好,您确认之前设置了Java视频采集驱动模式,就是下面的代码被执行过?
  1. AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER, AnyChatDefine.VIDEOCAP_DRIVER_JAVA)
复制代码
如果您没有设置过Java视频采集驱动,则默认是内核视频采集驱动,永远不会打印您的Log,建议您修改一下代码如下:
  1. PandaLog.log("panda", "LocalCaptureDriver:" + AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER));
  2. if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
  3.                 surface_local.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
  4. }
复制代码
请确认Demo程序中的【设置】界面中,【视频采集驱动】为“Java视频采集驱动”。修改驱动选项之后,需要重新运行应用程序设置才会生效。
回复 支持 反对

使用道具 举报

9

主题

82

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
9#
 楼主| 发表于 2013-7-12 14:48:15 | 只看该作者
贵公司的聊天能不能在一个activity中完成,连接登录和视频一系列操作。为啥在按照官方demo写的demo,却不行。在OnAnyChatOnlineUserMessage调用anychat.UserSpeakControl(id_remote, 1); 请求后,打印远程的anychat.GetCameraState(id_remote))却为0。如果方便的话,直接demo让你检查一下。因为有个ApplyVideoConfig貌似很影响摄像头取像。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
10#
发表于 2013-7-12 15:11:25 | 只看该作者
您好,可以在一个Activity中完成整个AnyChat的流程。
为啥在按照官方demo写的demo,却不行
可能是您在某些环节没有处理好,建议您检查一下代码。
在OnAnyChatOnlineUserMessage调用anychat.UserSpeakControl(id_remote, 1); 请求后,打印远程的anychat.GetCameraState(id_remote))却为0
您调用的是音频(UserSpeakControl),但是打印的是视频(GetCameraState),这两者没有关联的,请检查一下代码。

如果方便的话,直接demo让你检查一下
可以,您可以上传您的Demo代码(建议把libs、bin等目录删除,减少上传文件大小)。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 10:56 , Processed in 0.139039 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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