主要功能
会议管理
入会
/**
*@brief 进入会议
*@param pUserName 进入会议的用户的名字
*@param pMeetingCode 会议的参会密码(注意不含‘-’)
*@param videoEnable 是否默认视频
*@param audioEnable 是否默认打开音频
*@param showPreview 是否显示视频预览窗口
*@param extraData 用来在会议信息种显示的扩展数据
*/
void TangMeetingJoin(const char* pUserName, const char* pMeetingCode, bool videoEnable, bool audioEnable,
bool showPreview, const char* extraData);
调用时机:初始化之后
使用UserID 入会
/**
*@brief 进入会议
*@param pUserId 进入会议的用户id
*@param pMeetingCode 会议的参会密码(注意不含‘-’)
*@param videoEnable 是否默认视频
*@param audioEnable 是否默认打开音频
*@param showPreview 是否显示视频预览窗口
*@param extraData 用来在会议信息种显示的扩展数据
*/
void TangMeetingJoinByUserId(const char * pUserId , const char* pMeetingCode, bool videoEnable, bool audioEnable,
bool showPreview, const char* extraData);
调用时机:初始化以后 注意:使用此接口入会,会中的display name将自动识别为开通的账号的display name, 另外,如果使用约会人的userId, 会议密码即使用参会人密码,会中仍然是主持人
退会
/**
*@brief 退出会议
*@terminate true时,表示主持人离开会议时是否自动结束会议,对参会人此参数无效
*@return void
*/
void TangMeetingStop(bool terminate);
调用时机:用户希望通过app控制退会
反初始化
/**
*@brief 销毁TangMeetingSDK.该接口可将meetingSDK的实例杀掉,第三方APP退出之前应调用该接口,否则可能不能完全退出程序
*@return
*- == true 销毁成功
*- == false 销毁失败
*/
bool TangMeetingUninitialize();
调用时机:用户app结束时,卸载sdk
配置界面属性
/**
*@brief 此接口用来定制界面做一些个性化设置,应在入会之前调用,且只需调用一次,多次调用无效。如没有个性化要求,此接口可以不调用
*@customConfigData Json格式的字符串,具体可配置项如下
*
*return
*-== true 设置成功
*-== false 设置失败(比如没有调用Initialize就调用本函数)
*/
bool TangMeetingSetCustomConfig(const char * customConfigData);
customConfigData示例:
{"colorTheme":1,"language":1, "customUI":{"inviteBtn":{"isShow":true}}} // 深色主题,英文,参会人也有邀请按钮
customConfig对象定义:
key | value类型 | 描述 |
---|---|---|
appName | string | 设置会议窗口显示名称 |
language | number | 设置会议界面的显示语言,0:简体中文(默认);1:英文 |
colorTheme | number | 设置会议界面的主题色, 1:深色主题; 2: 浅色主题(默认) |
customUI | object | 设置会议界面中元素的自定义项,见customUI对象参考 |
openVideoWhenJoinMeeting | boolean | 入会是否开启视频,true: 开启(默认); false: 不开启 |
customUI对象定义:
key | value类型 | 描述 |
---|---|---|
inviteBtn | customBtnObject | 邀请按钮 |
shareBtn | customBtnObject | 共享按钮 |
switchLayoutBtn | customBtnObject | 切换布局按钮 |
layoutType | number | 设置布局类型,1:平均(默认);2:全景;3:演讲;4:回型;5:上台; 6: 工字型; 7: 左右 |
audioBtn | customBtnObject | 音频设置按钮 |
videoBtn | customBtnObject | 视频设置按钮 |
attendeeBtn | customBtnObject | 参会人按钮 |
chatBtn | customBtnObject | 聊天按钮 |
lockBtn | customBtnObject | 锁定会议按钮 |
interactiveBtn | customBtnObject | 互动激励按钮 |
customerServiceBtn | customBtnObject | 客服按钮 |
aboutBtn | customBtnObject | 关于按钮 |
feedbackBtn | customBtnObject | 反馈按钮 |
isShowFootbar | boolean | 是否显示底部工具栏,true:显示(默认);false:隐藏 |
isShowMeetingInfo | boolean | 是否显示会议信息,true:显示(默认);false:隐藏 |
leaveBtn | customBtnObject | 离开按钮 |
isShowBulletOption | boolean | 是否显示弹幕选项,true:显示(默认);false:隐藏 |
isShowEmotionToolbar | boolean | 是否显示聊天表情,true:显示(默认);false:隐藏 |
customBtnObject对象参考:
key | value类型 | 描述 |
---|---|---|
isShow | boolean | 是否显示,true:显示(默认);false:隐藏 |
调用时机:在初始化之后
其他功能
获取会议信息
/**
*@brief 通过会议Id获取会议信息
*@param meetingId 会议ID
*@return
*/
void GetMeetingInfo(const char* meetingId);
调用时机:初始化以后,通过会议ID获取会议详情, 详情通过回调 pfnOnGetMeetingInfo 返回
登录
/**
*@brief 通过普通账号密码登录云会议
*@param pUserName 用户名
*@param pPassword 密码
*@return
*/
void LoginWithPassword(const char* pUserName, const char* pPassword);
调用时机:初始化以后,登录状态通过 pfnOnLoginResult 回调返回
回调事件说明
会议状态回调
/**
* 会议状态变化的回调
*/
typedef void(*pfnOnMeetingStatusChanged)(TangMeetingStatus eStatus);
约会或邀请人后回调
/**
* 预约会议或会中邀请按钮被触发的回调
*/
typedef void(*pfnOnInviteContact)(const char *pMeetingInfo);
创建会议后的回调
/**
* 创建会议后的回调, 返回会议的id
*/
typedef void(*pfnOnMeetingCreated)(TangMeetingErrorCode errorCode, const char *pMeetingId);
获取会议信息回调
/**
* 获取会议信息的回调, 返回会议信息的JSON字符串
{
id - 会议的id,
title - 会议的标题,
startTime - 会议的开始时间,
attendees - 会议的参会人ID列表数组,
hostId - 会议的主持人ID,
hostName - 会议的主持人名字,
pCode - 会议的参会人密码,
hCode - 会议的主持人密码,仅在登录账户是该场会议的主持人时候返回,
}
*/
typedef void(*pfnOnGetMeetingInfo)(TangMeetingErrorCode errorCode, const char *pMeetingInfo);
登录的回调
/**
* 登录的回调, 返回错误码
*/
typedef void(*pfnOnLoginResult)(TangMeetingErrorCode errorCode);
邀请外呼列表回调
/**
* 返回外呼邀请信息
返回的UserInfo是一个Json数组
[
{
userName: name,
phoneNum: phoneNumber,
email: xxx@email.com
},
]
*/
typedef void(*pfnOnCallUsers)(const char *pUsersInfo);
对应错误码与状态码
enum TangMeetingStatus
{
tang_meeting_login_failed = 100, //登陆失败
tang_meeting_scheduler_failed = 101, //预约会议失败
tang_meeting_join_failed = 102, //入会失败
tang_meeting_login_succeed = 200, // 登陆成功
tang_meeting_scheduler_succeed = 201, // 预约会议成功
tang_meeting_join_succeed = 202, // 入会成功
tang_meeting_exit = 300, // 退出会议
};
enum TangMeetingErrorCode
{
success = 0, // 成功
login_failed = 100, // 登录失败
client_not_login = 104, // 客户端没有登录
client_not_running = 105, // SDK的客户端没有运行
};