设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

视频会议问题

[复制链接]

47

主题

185

帖子

535

积分

高级会员

Rank: 4

积分
535
跳转到指定楼层
楼主
发表于 2013-12-18 11:45:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
你好,我在HallActivity的界面 设置了一个SurfaceView 1px,用来采集用户自己的视频,然后B用户想看这个用户的视频的时候,点击item跳转到VideoActivity界面,同时要保证B用户的视频采集不能停止,要第三个用户可以看到。所以我就B用户从HallActivity跳转的时候我就用AnyChatCoreSDK.mCameraHelper.surfaceDestroyed(myView.getHolder());然后到VideoActivity界面,我videoActivity界面也采集视频,这样就可以保证第三个用户可以看到! 这样做了以后,A B两个用户,A在hallActivity界面 ,B点击item后在videoActvity界面可以看到A在HallActivity界面采集过来的时候,当A点击代表b的item后,也进入VideoActivity界面,这时,A B双方都可以正常的显示双方的视频, 但是当A退出VideoActivity界面以后,B就不能显示A在hallActivity界面采集的视频,这时B退出VideoActivity界面,重新点击代表a的item进入VideoActivity界面以后还是不能看到A在HallActivity界面采集过来的视频  ! 我HallActivity的采集视频在onResume()方法中执行!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
20#
发表于 2013-12-18 17:39:18 | 只看该作者
廖斌 发表于 2013-12-18 17:09
主要是这个需要放到oncreate中,才能打开摄像头。这样设计是有些乱,你看需求能不能变通一下

你试试内核模式看看。内核模式UserCameraControl控制摄像头打开和释放
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
19#
发表于 2013-12-18 17:09:16 | 只看该作者
王小峰 发表于 2013-12-18 16:59
我想问下重新执行oncreate有什么用呢,我oncreate方法AnyChatCoreSDK.mCameraHelper.surfaceDestroyed(myVi ...

主要是这个
  1. // 如果是采用Java视频采集,则需要设置Surface的CallBack
  2.                 if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
  3.                         myView.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);                       
  4.                 }
复制代码
需要放到oncreate中,才能打开摄像头。这样设计是有些乱,你看需求能不能变通一下
回复 支持 反对

使用道具 举报

47

主题

185

帖子

535

积分

高级会员

Rank: 4

积分
535
18#
 楼主| 发表于 2013-12-18 16:59:15 | 只看该作者
我想问下重新执行oncreate有什么用呢,我oncreate方法
  1. super.onCreate(savedInstanceState);
  2.                 this.setContentView(R.layout.activity_hall);
  3.                 userListAdapter = new UserListAdapter(this);
  4.                 InitialSDK();
  5.                 InitialLayout();
复制代码
AnyChatCoreSDK.mCameraHelper.surfaceDestroyed(myView.getHolder());
就这么几句,InitialSDK();
  1. anychat = new AnyChatCoreSDK();
  2.                 anychat.SetBaseEvent(this);
  3.                 // 启动AnyChat传感器监听,可以采集本地视频
  4.                 anychat.mSensorHelper.InitSensor(this);
复制代码
这个方法中除了new AnychatCoreSDK();其他两句我也在onresume方法中写了,重启后,执行了那句话才好了的!如果按照你说的我打开videoAcitiviy,关闭HallActivity界面,这样的设计不是好!
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
17#
发表于 2013-12-18 16:46:23 | 只看该作者
王小峰 发表于 2013-12-18 16:14
我用的你们的sdk,我就没有手动的调用camera这个类,我怎么释放摄像头,摄像头不是把这个参数改成0,由你 ...

AnyChatCameraHelper中有释放摄像头的方法。只要能hallActivity重新执行oncreate
回复 支持 反对

使用道具 举报

47

主题

185

帖子

535

积分

高级会员

Rank: 4

积分
535
16#
 楼主| 发表于 2013-12-18 16:14:06 | 只看该作者
廖斌 发表于 2013-12-18 16:09
java中这个不是释放摄像头哦。要实现你这个需求只能从videoactivity回来的时候重启hallactivity

我用的你们的sdk,我就没有手动的调用camera这个类,我怎么释放摄像头,摄像头不是把这个参数改成0,由你们去释放吗?

重启hallActivity是重新创建还是???
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
15#
发表于 2013-12-18 16:09:32 | 只看该作者
王小峰 发表于 2013-12-18 16:02
anychat.UserCameraControl(-1, 0);这难道不是释放摄像头?
而且我的从HallActivity到videoActivity采 ...
anychat.UserCameraControl(-1, 0);

java中这个不是释放摄像头哦。要实现你这个需求只能从videoactivity回来的时候重启hallactivity
回复 支持 反对

使用道具 举报

47

主题

185

帖子

535

积分

高级会员

Rank: 4

积分
535
14#
 楼主| 发表于 2013-12-18 16:02:07 | 只看该作者
廖斌 发表于 2013-12-18 15:33
hallactivity此时已经在onstop状态了,不能继续采集,videoactivy就不能采集了。只能先释放摄像头,然后v ...


anychat.UserCameraControl(-1, 0);这难道不是释放摄像头?
而且我的从HallActivity到videoActivity采集视频是好的,只是从videoActivity退出到HallActivity界面以后就采集不到视频了,是这么个意思!
回复 支持 反对

使用道具 举报

47

主题

185

帖子

535

积分

高级会员

Rank: 4

积分
535
13#
 楼主| 发表于 2013-12-18 15:57:02 | 只看该作者
anychat.UserCameraControl(-1, 0);这难道不是释放摄像头
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 11:02 , Processed in 0.136584 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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