设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 14866|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

2

主题

79

帖子

612

积分

高级会员

Rank: 4

积分
612
26#
发表于 2014-8-13 17:34:05 | 只看该作者
您好,您可以用这个函数来监听,不需要启动定时器去查询。
4.1.9.  用户摄像头状态变化消息
名称:WM_GV_CAMERASTATE
参数(WPARAM) :表示用户 ID 号;
参数(LPARAM) :表示摄像头的当前状态;
说明:当用户摄像头状态变化时被触发,摄像头的状态定义为:
GV_CAMERA_STATE_NULL: 0 没有摄像头,
GV_CAMERA_STATE_NORMAL: 1  有摄像头但是没有打开,
GV_CAMERA_STATE_OPEN :  2  摄像头已打开。
回复 支持 反对

使用道具 举报

25#
发表于 2014-8-13 17:29:45 | 只看该作者

从您日志里看出服务器版本是V4.9,而客户端版本是V5.0,您先下载更新一下版本(最好是客户端与服务器端一同更新,然后再测试一下)
下载地址:http://www.anychat.cn/download.html
回复 支持 反对

使用道具 举报

24#
发表于 2014-8-13 17:27:48 | 只看该作者
william2014 发表于 2014-8-13 16:48
你好,现在有这种情况。和PC端视频时,同一时间PC端显示本地摄像头状态是2,Android获取远程摄像头状态是 ...

这两个是请求打开userID的音视频
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
23#
 楼主| 发表于 2014-8-13 16:58:15 | 只看该作者
william2014 发表于 2014-8-13 16:48
你好,现在有这种情况。和PC端视频时,同一时间PC端显示本地摄像头状态是2,Android获取远程摄像头状态是 ...

以下是log日志。



[2014-08-13 16:31:43(714)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2014-08-13 16:31:43(715)]        Load libanychatcore.so success!(V5.0 Build Time:Jul  3 2014 10:26:43)
[2014-08-13 16:31:43(716)]        Android OS SDK Version:16, Support ARMv7:2, Support Neon:4
[2014-08-13 16:31:43(727)]        Load libmediautil_v7.so success!(V5.0 Build Time:Jul  3 2014 10:28:00)
[2014-08-13 16:31:43(747)]        Load libmediashow_4.0.so success!(V5.0 Build Time:Jul  3 2014 10:27:19)
[2014-08-13 16:31:43(756)]        Load libmediacore_4.1.so success!(V5.0 Build Time:Jul  3 2014 10:27:42)
[2014-08-13 16:31:43(757)]        CPU:13.53 MIPS, HardwareCT MSM8960 CDP
[2014-08-13 16:31:43(758)]        Apply video parameter:320x240, bitrate:150000, quality:3, gop:40, fps:10, preset:3, codec:0
[2014-08-13 16:31:43(759)]        Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2014-08-13 16:31:43(759)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2014-08-13 16:31:43(759)]        Invoke        BRAC_SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2014-08-13 16:32:42(948)]        Invoke        BRAC_Connect(61.191.49.28,9808)=0
[2014-08-13 16:32:42(950)]        Invoke        LoginServer(username=userA4B7CB74-BF31-400F-8291-342CD76322C4)
[2014-08-13 16:32:43(016)]        CheckClientSocketLink         Connect(ip=61.191.49.28,port=9808)
[2014-08-13 16:32:43(171)]        Server version: V4.9(Build Time:2014-02-23 16:12:56, Server OS:Windows)
[2014-08-13 16:32:43(245)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2014-08-13 16:32:43(535)]        Message        OnLoginSystem(userid=-422,errorcode=0,username=userA4B7CB74-BF31-400F-8291-342CD76322C4), msg deliver worked(0)
[2014-08-13 16:32:43(538)]        Invoke        EnterRoom(roomid=8)
[2014-08-13 16:32:43(597)]        Connection to streaming media server successfully!(udp delay:30ms)
[2014-08-13 16:32:43(718)]        Message        OnEnterRoom(roomid=8,errorcode=0,siteindex=1)
[2014-08-13 16:32:43(719)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2014-08-13 16:32:43(719)]        Message        OnReceiveOnlineUser(count=2,roomid=8)
[2014-08-13 16:32:43(828)]        Invoke        UserCameraControl(userid=8,bOpen=1)
[2014-08-13 16:32:43(828)]        Invoke        UserSpeakControl(userid=8,bOpen=1)
[2014-08-13 16:32:43(829)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2014-08-13 16:32:43(830)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2014-08-13 16:32:43(881)]        Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
[2014-08-13 16:32:43(883)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2014-08-13 16:32:43(965)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2014-08-13 16:32:44(235)]        video init finish:320x240, NV21, fps:25
[2014-08-13 16:32:44(352)]        video codec init:codec:1, 10fps, 320x240, bitrate:150000, quality:3, preset:3, gop:40, handle:2
[2014-08-13 16:32:45(185)]        On Remote UserCameraControl(dwUserId:-421, bOpen:1)
[2014-08-13 16:32:45(247)]        On Remote UserSpeakControl(dwUserId:-421, bOpen:1)
[2014-08-13 16:34:53(873)]        Invoke        UserCameraControl(userid=8,bOpen=0)
[2014-08-13 16:34:53(874)]        Invoke        UserSpeakControl(userid=8,bOpen=0)
[2014-08-13 16:34:53(874)]        Invoke        UserCameraControl(userid=-1,bOpen=0)
[2014-08-13 16:34:53(875)]        Invoke        UserSpeakControl(userid=-1,bOpen=0)
[2014-08-13
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
22#
 楼主| 发表于 2014-8-13 16:48:33 | 只看该作者
廖斌 发表于 2014-8-11 11:23
是的,是这个api。

你好,现在有这种情况。和PC端视频时,同一时间PC端显示本地摄像头状态是2,Android获取远程摄像头状态是0。  请问在这种情况下怎么样才能获取到对方的摄像头状态等于2?是调用   
anychat.UserCameraControl(userID, 1);
anychat.UserSpeakControl(userID, 1);    这两个吗?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
21#
发表于 2014-8-11 11:23:33 | 只看该作者
william2014 发表于 2014-8-11 11:05
anychat.GetCameraState(-1)这个是获取本地摄像头状态的?

是的,是这个api。
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
20#
 楼主| 发表于 2014-8-11 11:05:52 | 只看该作者
廖斌 发表于 2014-8-11 09:20
不需要,在OnAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage调用UserCameraControl就行了,Use ...

anychat.GetCameraState(-1)这个是获取本地摄像头状态的?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
19#
发表于 2014-8-11 09:20:49 | 只看该作者
william2014 发表于 2014-8-11 09:15
就是说我在定时器里面检测到anychat.GetCameraState(userID) == 0  调用UserCameraControl(userID,1)就 ...

不需要,在OnAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage调用UserCameraControl就行了,UserCameraControl是异步的,执行完之后,并不能马上就能获取到摄像头已经打开的状态。
回复 支持 反对

使用道具 举报

23

主题

100

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
18#
 楼主| 发表于 2014-8-11 09:15:41 | 只看该作者
廖斌 发表于 2014-8-11 09:12
用户摄像头打开成功后会改变,客户端在调用UserCameraControl(userID,1)后会改变这个值。

就是说我在定时器里面检测到anychat.GetCameraState(userID) == 0  调用UserCameraControl(userID,1)就OK了?  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 01:34 , Processed in 0.208499 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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