视频对讲技术 大厅好友解决方案

目前的anychat只提供了房间内用户列表、用户进出房间的业务逻辑,新版本将增强对上层业务逻辑的支持,提供完整的大厅好友解决方案。

大厅好友解决方案包括:
1、业务服务器可以设置用户的好友列表,客户端可以获得好友列表,不需要进入房间;
2、客户端可以获得好友上线、下线的状态通知;
3、业务服务器可以自定义设置用户的任意属性(如名称、签名、性别、备注等)并能同步到客户端,客户端可以获取业务服务器自定义的用户属性;


客户端新增API接口:

1. #define WM_GV_USERINFOUPDATE   WM_GV + 16                ///< 用户信息更新通知,wParam(INT)表示用户ID号,lParam(INT)表示更新类别

2. #define WM_GV_FRIENDSTATUS     WM_GV + 17                ///< 好友在线状态变化,wParam(INT)表示好友用户ID号,lParam(INT)表示用户的当前活动状态:0 离线, 1 上线

3.

4. // 获取用户好友ID列表

5. BRAC_API DWORD BRAC_GetUserFriends(LPDWORD lpUserIDArray, DWORD& dwUserNum);

6. // 获取好友在线状态

7. BRAC_API DWORD BRAC_GetFriendStatus(DWORD dwFriendUserId, DWORD& dwStatus);

8. // 获取用户分组ID列表

9. BRAC_API DWORD BRAC_GetUserGroups(LPDWORD lpGroupIDArray, DWORD& dwGroupNum);

10. // 获取分组下面的好友列表

11. BRAC_API DWORD BRAC_GetGroupFriends(DWORD dwGroupId, LPDWORD lpUserIDArray, DWORD& dwUserNum);

12. // 获取用户信息

13. BRAC_API DWORD BRAC_GetUserInfo(DWORD dwUserId, DWORD dwInfoId, TCHAR* lpInfoName, DWORD dwLen);

14. // 获取用户分组名称

15. BRAC_API DWORD BRAC_GetGroupName(DWORD dwGroupId, TCHAR* lpGroupName, DWORD dwLen);

复制代码

服务端新增API接口:

1. // 用户信息控制类型定义(API:BRAS_UserInfoControl 传入参数、OnUserInfoControl回调参数)

2. #define BRAS_USERINFO_CTRLCODE_KICKOUT          1         ///< 将指定用户从系统中踢掉

3. #define BRAS_USERINFO_CTRLCODE_SYNCDATA         2         ///< 将指定用户的数据同步给客户端

4.

5. #define BRAS_USERINFO_CTRLCODE_ADDGROUP         20        ///< 添加用户分组,wParam为分组Id,lpStrValue为分组名称

6. #define BRAS_USERINFO_CTRLCODE_DELGROUP         21        ///< 删除用户分组,wParam为分组Id

7. #define BRAS_USERINFO_CTRLCODE_ADDFRIEND        22        ///< 添加用户好友,wParam为好友Id

8. #define BRAS_USERINFO_CTRLCODE_DELFRIEND        23        ///< 删除用户好友,wParam为好友Id

9. #define BRAS_USERINFO_CTRLCODE_SETGROUPRELATION 24        ///< 设置好友与分组的关联关系,wParam为分组Id,lParam为好友Id,表示好友属于某个分组

10.

11.

12. // 设置用户的详细信息

13. BRAS_API DWORD BRAS_SetUserInfo(DWORD dwUserId, DWORD dwInfoId, LPCTSTR lpInfoValue, DWORD dwFlags=0);

14. // 获取用户的详细信息

15. BRAS_API DWORD BRAS_GetUserInfo(DWORD dwUserId, DWORD dwInfoId, TCHAR* lpInfoValue, DWORD dwSize);

16. // 用户信息控制

17. BRAS_API DWORD BRAS_UserInfoControl(DWORD dwUserId, DWORD dwCtrlCode, DWORD wParam=0, DWORD lParam=0, LPCTSTR lpStrValue=NULL);

复制代码

服务器端业务逻辑处理流程


在用户登录成功事件中设置用户的好友列表、分组列表、用户属性,并发送数据同步指令:

1. // 用户登录成功回调函数定义

2. typedef void (CALLBACK* BRAS_OnUserLoginAction_CallBack)(DWORD dwUserId, LPCTSTR szUserName, DWORD dwLevel, LPCTSTR szIpAddr, LPVOID lpUserValue);

复制代码

一、添加用户分组

1. DWORD dwGroupId = 1;

2. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_ADDGROUP,  dwGroupId, 0, "我的好友");

3. dwGroupId = 2;

4. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_ADDGROUP,  dwGroupId, 0, "公司同事");

复制代码

二、添加用户好友

1. DWORD dwFriendUserId = 10010;

2. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_ADDFRIEND,  dwFriendUserId);

3. dwFriendUserId = 10011;

4. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_ADDFRIEND,  dwFriendUserId );

复制代码

三、设置好友与分组的关系(即好友属于哪一个分组)

1. DWORD dwGroupId = 1;

2. DWORD dwFriendUserId = 10010;

3. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_SETGROUPRELATION,  dwGroupId, dwFriendUserId);

4. dwGroupId = 2;

5. dwFriendUserId = 10011;

6. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_SETGROUPRELATION,  dwGroupId, dwFriendUserId);

复制代码

四、设置用户信息(用户资料)

1. BRAS_SetUserInfo(dwUserId, 1, "我的签名");

2. BRAS_SetUserInfo(dwUserId, 2, "020-85276986");

3. ……

复制代码

五、将前面设置的资料同步给客户端

1. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_SYNCDATA,  0, 0);

复制代码

视频对讲技术 大厅好友解决方案

时间: 2024-11-09 10:07:05

视频对讲技术 大厅好友解决方案的相关文章

视频对讲SDK 大厅好友解决方案

目前的anychat只提供了房间内用户列表.用户进出房间的业务逻辑,新版本将增强对上层业务逻辑的支持,提供完整的大厅好友解决方案. 大厅好友解决方案包括:1.业务服务器可以设置用户的好友列表,客户端可以获得好友列表,不需要进入房间:2.客户端可以获得好友上线.下线的状态通知:3.业务服务器可以自定义设置用户的任意属性(如名称.签名.性别.备注等)并能同步到客户端,客户端可以获取业务服务器自定义的用户属性: 客户端新增API接口: #define WM_GV_USERINFOUPDATE   WM

音视频 对讲技术实现楼宇智能化

楼宇智能化系统一般包括以下系统:综合布线系统.计算机网络系统.电话系统.有线电视及卫星电视系统.安防监控系统.一卡通系统.广播告示系统.楼宇自控系统.酒店管理系统.物业管理系统.智能楼宇管理系统(集控平台)及数据中心机房建设等. 1.综合布线系统 结构化综合布线系统是整幢大楼的"神经系统",是网络.通讯等系统的基础.大楼结构化布线采用光纤作为主干(电话主干使用大对数线缆).超五类或六类双绞线到房间,提供网络接入. 2.网络系统 在综合布线基础上构建网络系统,提供系统桌面100/1000

视频对讲技术

随着国民经济的发展,人民生活水平日益提高,一些小区纷纷使用现代通信技术和自动控制技术为小区的服务与管理者提供高效方便的管理.服务手段,为家庭提供安全舒适的居住环境.同时国家建设部也制定了智能小区的三个级别:基本型标准中包括家庭防盗.防火.防煤气泄漏.紧急求助等安防系统.三表抄送系统.小区管理监控中心等系统.普及型标准则增加了闭路电视监控系统.电子巡更系统.消防联动系统.停车场管理系统.家居自动化系统.综合信息管理系统等.高级标准中则在普及型标准的基础上增加了综合通信网络系统.家庭通信网络接口等系

实时音视频技术难点及解决方案

对于一个实时互动的音视频系统而言,存在很多技术难点,有几个比较重要的点: 首先是低延迟,如果要满足比较流畅地进行实时互动,那么单向的端到端的迟延大概要在400毫秒以下才能保证流畅沟通; 第二点就是流畅性,你也很难想象在视频过程中频繁卡顿会有良好的互动; 第三点是回声消除,回声的产生是扬声器播放的声音经过环境反射被麦克风重新采集并传输给对方,这样对方就会一直听到自己的回声,整个互动过程会非常难受; 第四点是国内外互通,随着现在国内同质化产品越来越多,国内的竞争也异常激烈,很多厂商纷纷选择出海,这时

音视频 开发技术,让智能家居更智能!

智能家居是在物联网的影响之下物联化体现.智能家居通过物联网技术将家中的各种设备(如音视频设备.照明系统.窗帘控制.空调控制.安防系统.数字影院系统.网络家电以及三表抄送等)连接到一起,提供家电控制.照明控制.窗帘控制.电话远程控制.室内外遥控.防盗报警.环境监测.暖通控制.红外转发以及可编程定时控制等多种功能和手段. 定义 智能家居是一个居住环境,是以住宅为平台安装有智能家居系统的居住环境,实施智能家居系统的过程就称为智能家居集成.以住宅为平台,利用综合布线技术.网络通信技术. 智能家居-系统设

3G手机视频对讲开发包

一.概述 针对3G网络研发的"手机视频对讲开发包",使人们在任何能够使用手机的地方都可以随时随地进行视频对讲.视频会议.应急视频指挥等,突破了传统固网的限制,是3G业务的革命性产品.该开发包已经通过了稳定性测试,是目前最完善的适合于大规模商用的3G视频应用开发包,填补了国内空白. 手机视频开发包可为3G用户提供视频监控和告警信息.远程采集.传输.存储.处理与传播等方面的无线网络视频服务,是一种有效的安防及管理工具:手机会议平台是为用户提供手机视频会议的定制.配置.使用的手机视频会议系统

网络视频相关技术介绍

AnyChat音视频互动开发平台(SDK)是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台.        AnyChat音视频互动开发平台(SDK)包含了音视频处理模块(采集.编解码).流媒体管理模块(丢包重传.抖动平滑.动态缓冲).流媒体播放模块(多路混音.音视频同步)以及P2P网络模块(NAT穿透

即时通讯——详解音视频同步技术

转自:http://tieba.baidu.com/p/2138076570 摘要:针对网络传输中由于延迟.抖动.网络传输条件变化等因素引起的音视频不同步的问题,设计并实现了一种适应不同网络条件的音视频同步方案.利用音视频编码技术AMR-WB和H.264具有在复杂网络环境中速率可选择的特性,结合RTP时间戳和RTCP反馈检测QOS,通过控制音视频编码方式,实现了动态网络环境下的音视频同步方案.重点介绍了可靠网络环境和动态网络环境下同步算法的设计过程,并通过实际测试验证了此方案的可行性.结果表明,

Android &amp; IOS视频录制技术方案

屡次想经营一个技术博客,总因为各种理由推脱.这次下定决心开写,不为自我营销,不为扩大社交,只为了督促自己学习.近几个月定时更新两条线,一个是短视频处理技术,一个是<算法导论>笔记,也借机温故知新.精力有限而且学习也不能贪多,所以每周仅各一篇. 警告诸多网站:原创博客,未经本人允许不得转载. 移动端视频录制的技术方案,我所能想到并且尝试过的,有如下几种: 方案一: 用系统开发sdk录制的接口. 弊端: 1):不能更改视频比例,一般都有该手机屏幕分辨率所对应得视频录制分辨率,另外手机系统提供得分辨