设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

anychat.GetCameraState(dwTargetUserId) == 0

[复制链接]

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
跳转到指定楼层
楼主
发表于 2014-8-6 15:32:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Android 端和PC端视频通话,Android端经常出现获取pc端视频状态等于零。请问这个好似什么情况?
anychat.GetCameraState(dwTargetUserId)==0。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
沙发
 楼主| 发表于 2014-8-6 15:41:46 | 只看该作者
在线坐等回复
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
板凳
发表于 2014-8-6 15:42:16 | 只看该作者
请问您android用的什么版本?最新版本有修正Java模式下anychat.GetCameraState获取状态不准的问题
回复 支持 反对

使用道具 举报

地板
发表于 2014-8-6 15:42:26 | 只看该作者
您好:
0  没有摄像头
1  有摄像头但没有打开
2  摄像头已打开
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
5#
发表于 2014-8-6 15:43:05 | 只看该作者
廖斌 发表于 2014-8-6 15:42
请问您android用的什么版本?最新版本有修正Java模式下anychat.GetCameraState获取状态不准的问题

另外您获取这个状态干嘛用呢?打开视频即可,不需要根据这个状态去打开视频
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
6#
 楼主| 发表于 2014-8-6 15:52:13 | 只看该作者
廖斌 发表于 2014-8-6 15:43
另外您获取这个状态干嘛用呢?打开视频即可,不需要根据这个状态去打开视频

5.0版本,需要根据这个状态判断是否需要进入聊天室
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
7#
 楼主| 发表于 2014-8-6 15:58:26 | 只看该作者
william2014 发表于 2014-8-6 15:52
5.0版本,需要根据这个状态判断是否需要进入聊天室

在OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode)回调中如果获取anychat.GetCameraState(dwTargetUserId) == 0进入视频聊天,Android端会看不到PC端的视频。
所以我会有个判断 ,当获取对方视频状态等于0的时候提示对方已离线。
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
8#
 楼主| 发表于 2014-8-6 15:59:39 | 只看该作者
william2014 发表于 2014-8-6 15:58
在OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode)回调中如果获取anychat.GetCameraState(dwT ...
  1. if (dwErrorCode == 0) {
  2.                         int i[] = anychat.GetOnlineUser();
  3.                         if (i.length > 0) {
  4.                                 dwTargetUserId = i[0];
  5.                         }
  6.                         if (!flag) {
  7.                                 dwTargetUserId = dwRoomId;
  8.                         }
  9.                         Log.d("------------------------------------",
  10.                                         "status =" + anychat.GetCameraState(dwTargetUserId));
  11.                         if (anychat.GetCameraState(dwTargetUserId) != 0) {// 坐席视频正常
  12.                                 isErrorInRoom = false;
  13.                                 Bundle bundle = new Bundle();
  14.                                 bundle.putInt("target_user_id", dwTargetUserId);
  15.                                 toNextPage(bundle, VideoAuthViewActivity.class);
  16.                                 MainUIActivity.getMainController().popView();
  17.                         } else {
  18.                                 showAlertDialog("对方尚未连接视频,请重试",
  19.                                                 new DialogInterface.OnClickListener() {

  20.                                                         @Override
  21.                                                         public void onClick(DialogInterface dialog,
  22.                                                                         int which) {
  23.                                                                 regist_videotestimony_index = 0;
  24.                                                                 get_videotestimony_index = 0;
  25.                                                                 serialNum = VideoAuthManager.getInstance()
  26.                                                                                 .registVideoTestimony();
  27.                                                                 tvWait.setText(R.string.video_authing);
  28.                                                                 tvInfo.setText("");
  29.                                                                 if (!progressBar.isShown()) {
  30.                                                                         progressBar.setVisibility(View.VISIBLE);
  31.                                                                 }
  32.                                                         }
  33.                                                 }, "重试");
  34.                         }
  35.                 }
复制代码
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
9#
发表于 2014-8-6 16:07:54 | 只看该作者

这样的判断有问题哦,不建议这样做。
1、在自己进入房间成功的回调OnAnyChatEnterRoomMessage中去判断别人的视频状态,这个时机本身就是不对的。应该在OnAnyChatOnlineUserMessage或者OnAnyChatUserAtRoomMessage

2、打开摄像头是异步的过程,即使对方打开了摄像头,调用GetCameraState获取的也可能是0。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
10#
发表于 2014-8-6 16:26:31 | 只看该作者
是否可以考虑用一个定时器来判断?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 21:58 , Processed in 0.140334 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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