• Android移动端音视频的快速开发教程(六)


    4

    函数说明
    4.1.
    初始化与资源释放
    4.1.1.
    初始化SDK
    INT InitSDK(INT osver, INT flags)
    功能:初始化SDK
    返回值:0表示成功,否则为出错代码
    参数:
    osver Android平台API版本,系统常量:android.os.Build.VERSION.SDK_INT
    flags 功能模式组合,默认为0,参考WIN32平台SDK的InitSDK的参数dwFuncMode定义
    备注:
    功能模式组合可根据实际的需求灵活定义,如果在后续的方法调用中失败,则很有可能是某一项功能没有被定义,默认为0,SDK内部会自动设置常用的标志。
    该方法必须第一个被调用(SetSDKOptionString方法除外),否则后续的其它方法调用将会返回没有初始化错误。
    4.1.2.
    设置基本事件通知接口
    public void SetBaseEvent(AnyChatBaseEvent e);
    功能:只有设置基本事件通知接口后,AnyChat内核产生的异步事件才能通知到Activity,并触发Activity中对应的接口方法。
    返回值:无
    参数:
    E 实现AnyChatBaseEvent接口的对象
    备注:
    如有多个Activity需要响应事件,则每个Activity都必须实现对应的接口,
    第 23 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    并调用该方法向AnyChat内核注册该接口,只有当前活动的Activity才能接收到异步消息,触发接口方法。
    4.1.3.
    设置状态变化事件接口
    public void SetStateChgEvent(AnyChatStateChgEvent e);
    功能:只有设置状态变化事件通知接口后,AnyChat内核产生的状态变化事件才能通知到Activity,并触发Activity中对应的接口方法。
    返回值:无
    参数:
    E 实现AnyChatStateChgEvent接口的对象
    备注:
    如有多个Activity需要响应事件,则每个Activity都必须实现对应的接口,并调用该方法向AnyChat内核注册该接口,只有当前活动的Activity才能接收到异步消息,触发接口方法。
    4.1.4.
    设置私聊消息通知接口
    public void SetPrivateChatEvent(AnyChatPrivateChatEvent e);
    功能:只有设置私聊事件通知接口后,AnyChat内核产生的私聊事件才能通知到Activity,并触发Activity中对应的接口方法。
    返回值:无
    参数:
    E 实现AnyChatPrivateChatEvent接口的对象
    备注:
    如有多个Activity需要响应事件,则每个Activity都必须实现对应的接口,并调用该方法向AnyChat内核注册该接口,只有当前活动的Activity才能接收到异步消息,触发接口方法。
    第 24 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    4.1.5.
    设置文字聊天消息接口
    public void SetTextMessageEvent(AnyChatTextMsgEvent e);
    功能:只有设置文字聊天消息接口后,AnyChat内核产生的文字聊天事件才能通知到Activity,并触发Activity中对应的接口方法。
    返回值:无
    参数:
    E 实现AnyChatTextMsgEvent接口的对象
    备注:
    如有多个Activity需要响应事件,则每个Activity都必须实现对应的接口,并调用该方法向AnyChat内核注册该接口,只有当前活动的Activity才能接收到异步消息,触发接口方法。
    4.1.6.
    设置数据传输消息接口
    public void SetTransDataEvent(AnyChatTransDataEvent e);
    功能:只有设置数据传输消息接口后,AnyChat内核产生的数据传输事件才能通知到Activity,并触发Activity中对应的接口方法。
    返回值:无
    参数:
    E 实现AnyChatTransDataEvent接口的对象
    备注:
    如有多个Activity需要响应事件,则每个Activity都必须实现对应的接口,并调用该方法向AnyChat内核注册该接口,只有当前活动的Activity才能接收到异步消息,触发接口方法。
    数据传输接口内部实现了缓冲区传输、扩展缓冲区传输、文件传输等传输数据的异步事件通知接口。
    第 25 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    4.1.7.
    释放SDK资源
    INT Release(VOID);
    功能:释放SDK占用的所有资源
    返回值:0表示成功,否则为出错代码
    参数:
    无。
    备注:
    该方法必须最后一个被调用,调用该方法后,SDK内部所占用的资源将被释放,如果在其后面再调用其它的方法,将会返回没有初始化的错误。
    该方法通常在上层应用退出系统时被调用,即最后一个Activity销毁时调用,而中间Activity销毁时不需要,也不能调用该方法。
    4.2.
    登录流程
    4.2.1.
    设置服务器认证密码
    INT SetServerAuthPass(STRING Password);
    功能:设置服务器连接认证密码,确保SDK能正常连接到服务器。
    返回值:0表示成功,否则为出错代码
    参数:
    lpPassword 认证密码(大小写敏感);
    备注:
    为了防止未授权SDK连接服务器,在服务器配置文件(AnyChatCoreServer.ini)中可设置“SDKAuthPass”,如果该配置项被设置,当SDK连接服务器时,会将该方法所传入的密码加密后传输到服务器,服务器再比较是否合法,如果密码不正确,则连接将被断开。如果该配置项未被设置(配置文件默认),则无论该方法是否被调用,SDK均可正常连接到服务器。 第 26 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    4.2.2.
    连接服务器
    INT Connect(STRING ServerAddr, INT Port);
    功能:用于与服务器建立连接。
    返回值:0表示成功,否则为出错代码
    参数:
    lpServerAddr 服务器IP地址,或是网站域名(URL)地址;
    dwPort 服务端口号(默认为8906)
    备注:
    返回值为0并不表示连接服务器成功,仅表示SDK已成功收到连接服务器的指令,如果连接成功,或是失败,都将会通过相应的接口通知上层应用,这里是一个异步的过程。
    4.2.3.
    登录系统
    INT Login(STRING UserName, STRING Password);
    功能:登录服务器,请求身份认证。
    返回值:0表示成功,否则为出错代码
    参数:
    lpUserName 注册用户名;
    lpPassword 登录密码(为空表示游客);
    备注:
    该方法可以连接系统之后立即调用,而不用关心连接系统是否成功,当SDK连接系统成功之后,如果之前调用过该方法,则SDK将会自动向服务器发出登录系统的申请。
    返回值为0并不表示登录服务器成功,仅表示SDK已成功收到登录服务器的指令,如果登录成功,或是失败,都将会通过相应的接口通知上层应用,这里是一个异步的过程。
    如果服务器配置了“SDK Filter Plus”插件,则客户端调用该方法后,将会触发其API接口:BRFP_VerifyUser,用户名、密码参数将会作为参数传递给
    第 27 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    该API函数,由“SDK Filter Plus”完成用户的身份验证工作,服务器根据该API接口的返回值来判定是否通过身份验证,详细信息可参考文档《AnyChat SDK Filter Plus开发指南》。
    如果在服务器端使用“AnyChat Server SDK”开发了业务层服务器,则客户端调用该方法后,将会触发业务层服务器的回调函数“BRAS_VerifyUser_CallBack”,由业务层服务器完成用户的身份验证工作,服务器根据回调函数的返回值来判定是否通过身份验证,详细信息可参考文档《AnyChat Server SDK 开发指南》。
    4.2.4.
    进入房间(根据房间编号)
    INT EnterRoom(INT Roomid, STRING RoomPass);
    功能:根据房间编号进入房间
    返回值:0表示成功,否则为出错代码
    参数:
    dwRoomid 房间编号,系统唯一;
    lpRoomPass 房间密码(当房间需要密码时有效,如果没有可为空);
    备注:
    该方法可以登录系统之后立即调用,而不用关心登录系统是否成功,当SDK登录系统成功之后,如果之前调用过该方法,则SDK将会自动向服务器发出进入房间的申请。
    返回值为0并不表示进入房间成功,仅表示SDK已成功收到进入房间的指令,不论成功,或是失败,都将会通过相应的接口通知上层应用,这里是一个异步的过程。
    用户必须进入一个房间,否则无法进行相关的操作,后续用户所有的操作都是在房间内操作,针对游戏,房间可以理解为游戏桌(一桌游戏对应一个房间),针对视频会议,房间可以理解为会议室。
    如果服务器配置了“SDK Filter Plus”插件,则客户端调用该方法后,将会触发其API接口:BRFP_PrepareEnterRoom,用户ID、房间ID、房间密码将会
    第 28 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    作为参数传递给该API函数,由“SDK Filter Plus”完成用户进入房间的验证工作,服务器根据该API接口的返回值来判定是否允许进入房间,详细信息可参考文档《AnyChat SDK Filter Plus开发指南》。
    如果在服务器端使用“AnyChat Server SDK”开发了业务层服务器,则客户端调用该方法后,将会触发业务层服务器的回调函数“BRAS_PrepareEnterRoom_CallBack”,由业务层服务器完成用户进入房间的验证工作,服务器根据该API接口的返回值来判定是否允许进入房间,详细信息可参考文档《AnyChat Server SDK 开发指南》。
    4.2.5.
    进入房间(根据房间名称)
    INT EnterRoomEx(STRING RoomName, STRING RoomPass)
    功能:根据房间名称进入房间
    返回值:0表示成功,否则为出错代码
    参数:
    lpRoomName 房间名称;
    lpRoomPass 房间密码(当房间需要密码时有效,如果没有可为空);
    备注:
    该方法与“EnterRoom”功能相同,区别在于房间的标识不同,其中“EnterRoom”是用房间ID进入房间,而该方法是用房间名称进入房间,如果房间不存在,而且系统配置为自动创建房间时,将会由系统分配一个唯一的房间编号,通过基本事件接口(AnyChatBaseEvent)返回给上层应用,上层应用可以通过方法“GetRoomName”来获取房间名称。
    4.2.6.
    离开房间
    INT LeaveRoom(INT Roomid);
    功能:离开房间。
    返回值:0表示成功,否则为出错代码
    第 29 页 共 51 页
    AnyChat for Android SDK 开发手册 佰锐科技 版权所有
    参数:
    Roomid 房间编号,为-1表示退出当前房间
    备注:
    在用户变换房间之前,需要调用该方法离开房间,然后才能进入新的房间。
    4.2.7.
    注销系统
    INT Logout(VOID);
    功能:将用户从系统中注销。
    返回值:0表示成功,否则为出错代码
    参数:

    备注:
    在切换用户(如用户换用其它的用户名登录系统)时需要先调用该方法,或是在退出系统前需要调用该方法

  • 相关阅读:
    开源跳板机(堡垒机)系统 Jumpserver安装教程(带图文)
    运维自动化管理服务器 CheungSSH
    代码托管服务平台GitHub
    Java 博客系统 Tale
    基于代码生成器的快速开发平台 JEECG
    中文企业云操作系统 CecOS
    Python基础学习(一)之Python的概述与环境安装
    Python3.x安装教程及环境变量配置
    PHP Primary script unknown 终极解决方法
    正则表达式备忘录-Regular Expressions Cheatsheet中文版
  • 原文地址:https://www.cnblogs.com/ilscott/p/3148237.html
Copyright © 2020-2023  润新知