设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3831|回复: 8

anychat.GetCameraState(dwTargetUserId)始终是1

[复制链接]

3

主题

18

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2016-4-1 11:06:22 | 显示全部楼层 |阅读模式
开发了一个多人视频的程序,在onAnyChatOnlineUserMessage函数里面我打开了摄像头
int ret = anyChatSdk.UserCameraControl(videoUserId, 1);
ret返回值为0,说明摄像头打开了。
可是我在定时器里面通过anychat.GetCameraState(dwTargetUserId)检测摄像头的状态,
得到的始终是1.
这种情况出现几率还蛮高的。不知道什么原因,怎么查找这个问题?
回复

使用道具 举报

0

主题

56

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2016-4-1 11:21:33 | 显示全部楼层
您好,anychat.GetCameraState(dwTargetUserId)返回值是1表示有摄像头但没有打开。
回复 支持 反对

使用道具 举报

3

主题

18

帖子

63

积分

注册会员

Rank: 2

积分
63
 楼主| 发表于 2016-4-1 11:41:41 | 显示全部楼层
anyChatSdk.UserCameraControl(videoUserId, 1);
这个不是就是打开摄像头的吗,而且返回0表示摄像头打开成功了
回复 支持 反对

使用道具 举报

3

主题

18

帖子

63

积分

注册会员

Rank: 2

积分
63
 楼主| 发表于 2016-4-1 11:48:49 | 显示全部楼层
假设我有手机a,b,和web端c,我开始了abc之间的多人视频,在手机a上看不到b,b上可以看到a,c上可以看到a和b。
调试的时候发现a上面获取b的摄像头状态始终为1,可是如果说b的摄像头没有打开,怎么在c上面又能看到b的视频那?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
发表于 2016-4-1 13:01:52 | 显示全部楼层
wearilybird 发表于 2016-4-1 11:48
假设我有手机a,b,和web端c,我开始了abc之间的多人视频,在手机a上看不到b,b上可以看到a,c上可以看到a ...

您好,如您所说,c上面可以看到b的视频,说明b的摄像头已经打开了。
至于a上面获取b的摄像头状态为1,可能是a没有请求b的摄像头数据成功。
a必须在b进入房间成功后,请求b的视频。
判断b已经进入房间成功的时机有两个地方,
onAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage,
你只在onAnyChatOnlineUserMessage处理了?
回复 支持 反对

使用道具 举报

3

主题

18

帖子

63

积分

注册会员

Rank: 2

积分
63
 楼主| 发表于 2016-4-1 13:11:04 | 显示全部楼层
刚才我把定时器里面检测摄像头状态的代码屏蔽,就是直接调用这段代码
int videoIndex = anyChatSdk.mVideoHelper.bindVideo(remoteSurface.getHolder());
anyChatSdk.mVideoHelper.SetVideoUser(videoIndex,
                                                                        remoteUserId);
就可以看到视频了。应该是获取摄像头状态的函数有问题。
回复 支持 反对

使用道具 举报

3

主题

18

帖子

63

积分

注册会员

Rank: 2

积分
63
 楼主| 发表于 2016-4-1 13:31:00 | 显示全部楼层
onAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage这两个地方都有打开摄像头的代码,而且我调试的时候确定已经调用了打开摄像头的函数。
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
发表于 2016-4-1 13:47:46 | 显示全部楼层
wearilybird 发表于 2016-4-1 13:11
刚才我把定时器里面检测摄像头状态的代码屏蔽,就是直接调用这段代码
int videoIndex = anyChatSdk.mVideo ...

您用的什么AnyChat SDK版本呢,我们查下是否是已修正bug
回复 支持 反对

使用道具 举报

3

主题

18

帖子

63

积分

注册会员

Rank: 2

积分
63
 楼主| 发表于 2016-4-1 14:10:32 | 显示全部楼层
mainVersion:6,subVersion:0
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 18:42 , Processed in 0.131446 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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