AnyChat技术支持论坛

标题: 本地camera 无法正常打开 [打印本页]

作者: ypxu87    时间: 2015-2-15 10:42
标题: 本地camera 无法正常打开
在控制本地camera打开的时候没有正常打开,对比了一下正常的log,异常的时候少了 video init
但是按一下home键,再进入app 本地camera就可以正常工作了
大神们知道是怎么回事吗,求指导
作者: admin    时间: 2015-2-15 13:59
您好,使用我们标准的示例代码也存在同样的问题吗?

另外换一台手机也不正常吗?
作者: ypxu87    时间: 2015-2-15 14:44
示例代码没这个问题,我仿照示例代码写的app有这个问题,换了其他机器上也一样,查了调用流程,没找到具体是什么原因,不知道是不是少了调用什么接口
作者: admin    时间: 2015-2-15 14:56
您好,请参考AnyChat for Android SDK的doc目录下的《AnyChat SDK for Android 开发流程指南》,里面有详细的步骤说明,示例代码位于AnyChat for Android SDK的src\helloAnyChat目录下。

您可以详细对比一下helloAnyChat这个示例代码,非常精简,适合排查您自己程序的原因。

作者: ypxu87    时间: 2015-2-15 15:01
你好,我是按照这个示例写的,我仔细查了我的调用流程感觉是没问题的,另外是调用什么接口可以video init的呢,目前是按home键退出,再进app,onresume 后就会video init,这时候就正常了,搞不懂这个onresume 会有什么区别
作者: admin    时间: 2015-2-15 15:05
您好,您可以看一下AnyChat for Android SDK中doc目录下的《AnyChat SDK for Android 开发流程指南》,第五章“音视频交互”,里面详细讲解了初始化视频的相关流程。

摄像头硬件初始化
该操作需要在显示视频activity的oncreate中执行
  1. // 启动AnyChat传感器监听
  2. anychat.mSensorHelper.InitSensor(this);
  3. // 初始化Camera上下文句柄
  4. AnyChatCoreSDK.mCameraHelper.SetContext(this);
  5. //设置SURFACE_TYPE_PUSH_BUFFERS模式
  6. mSurfaceLocal.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  7. // 打开本地视频预览,开始采集本地视频数据
  8. mSurfaceLocal.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
复制代码

作者: ypxu87    时间: 2015-2-15 15:33
你好,上面的调用流程我检查了一下,都有了,还是不行
作者: admin    时间: 2015-2-15 15:39
另外是调用什么接口可以video init的呢,目前是按home键退出,再进app,onresume 后就会video init

1、首先需要在显示视频Activity的OnCreate中对视频进行初始化;
2、在适当的时机(比如进入房间成功之后)打开本地的视频设备,调用API:anychat.UserCameraControl(-1, 1);


作者: admin    时间: 2015-2-15 15:44
另外,您是否有设置相关的参数?如helloAnyChat\mainActivity.java中的:
  1. // 根据配置文件配置视频参数
  2. private void ApplyVideoConfig()
复制代码

作者: ypxu87    时间: 2015-2-15 15:56
哈哈,搞定了,我原本是在其他地方初始化视频,我把它移到oncreate 里面就正常了,非常感谢你的帮助,献香吻一个




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