会议室通话
本文介绍与 Linkus Android SDK 会议室通话相关的功能及实现方法。
初始化会议室通话功能
要使用会议室通话,你需要在项目的 Application
类的主进程调用以下方法初始化该功能。
YlsConferenceManager.getInstance().setConferenceCallback(context, new ConferenceCallback() {
@Override
public void onConferenceException(ConferenceVo conferenceVo) {
//异常会议室通话回调
EventBus.getDefault().postSticky(new ConferenceExceptionEvent(conferenceVo));
}
@Override
public void onConferenceStatusChange(String conferenceId, String number, int status) {
//会议室成员状态回调
EventBus.getDefault().post(new ConferenceStatusEvent(conferenceId, number, status));
}
});
发起会议室通话
/**
*
* @param context
* @param conferenceName:会议室名称。名称不能包含 、!、$、(、)、/、#、;、,、[、]、"、=、<、>、&、\、'、```、^、%、@、{、}、|、空格,且字符长度不能超过 63。
* @param memberArray:会议室通话成员数组。
* @param requestCallback
*/
public void startConference(Context context, String conferenceName, String[] memberArray, RequestCallback requestCallback)
管理会议室通话成员
/**
* 会议室通话成员小于9个时,可调用此方法添加 "新增成员" 选项
*
* @param memberList
*/
public void addNullMember(List<ConferenceMemberVo> memberList)
/**
* 此方法只针对会议室通话的主持人
* 会议室通话成员小于9个时,调用此方法添加 "新增成员" 选项
* 会议室通话成员大于2个时,调用此方法添加 "删除成员" 选项
* @param memberList
*/
public void addNullMemberByAdmin(List<ConferenceMemberVo> memberList)
/**
* 当会议室通话成员达到上限(9方)时,调用此方法移除 "新增成员" 选项
*
* @param memberList
*/
public void removeNullMember(List<ConferenceMemberVo> memberList)
管理会议室通话
/**
*
* 会议室通话中,主持人对所有成员执行 静音/取消静音 操作
* @param conferenceId:会议室通话 ID
* @param member:会议室通话成员
* @param isMute:是否要将所有成员静音
*/
public ResultVo muteAllConferenceMemberBlock(String conferenceId, String member, boolean isMute)
/**
*
* 会议室通话中,主持人对指定成员执行 静音/取消静音 操作
* @param conferenceId:会议室通话 ID
* @param number:需要静音或取消静音的成员的号码
* @param isMute:是否要将指定成员静音
*/
public ResultVo muteConferenceMemberBlock(String conferenceId, String number, boolean isMute)
/**
*
* 主持人将指定成员从当前的会议室通话中移除
* @param conferenceId:会议室通话 ID
* @param number:要从当前会议室通话中移除的成员的号码
*/
public ResultVo kickConferenceMemberBlock(String conferenceId, String number)
/**
*
* 邀请新成员加入当前的会议室通话
* @param conferenceId:会议室通话 ID
* @param number:要邀请的成员的号码
*/
public ResultVo inviteConferenceMemberBlock(String conferenceId, String number)
/**
*
* 之前已邀请的成员未加入会议室通话时,可调用此方法再次邀请成员
* @param conferenceId:会议室通话 ID
* @param number:要邀请的成员的号码
*/
public ResultVo reInviteConferenceMemberBlock(String conferenceId, String number)
/**
*
* 结束当前会议室通话
* @param context
* @param callId
* @param conferenceVo
* @param callback
* @return
*/
public void endConferenceBlock(Context context, int callId, ConferenceVo conferenceVo, RequestCallback callback)
/**
*
* 重新连接至因异常情况而被中断的会议室通话
* @param context
* @param conferenceId:异常会议室通话的 ID
* @param member:会议室通话的成员
* @return
*/
public ResultVo returnConferenceBlock(Context context, String conferenceId, String member)
获取会议室通话记录
conferenceModelList = YlsConferenceManager.getInstance().getConferenceList();
删除会议室通话记录
/**
* 删除指定的会议室通话记录
* @param conferenceId:需删除记录的会议室通话的 ID
*/
public void deleteConferenceLog(String conferenceId)
/**
* 删除所有的会议室通话记录
*/
public void deleteAllConferenceLog()
设置 / 查询会议室通话结束时间
/**
* 设置会议室通话的结束时间
* @param endConferenceTime
*/
public void setEndConferenceTime(long endConferenceTime)
/**
* 查询会议室通话的倒计时时间
* 只有倒计时为负数时可以发起新的会议室通话
* @return
*/
public long getCountDownTime()
设置 / 查询会议室通话缓存信息
/**
* 设置当前会议室通话缓存信息(名称、成员等信息)
* @param conferenceVo
*/
public void setConferenceVo(ConferenceVo conferenceVo)
/**
* 查询当前会议室通话缓存
* @return
*/
public ConferenceVo getConferenceVo()
重连至异常的会议室通话
/**
* 由于网络不稳定导致当前会议室通话中断时,可调用此方法重新连接到该会议室通话
* @param conferenceId:异常会议室通话的 ID
* @param member:会议室通话的成员
* @return
*/
public ResultVo returnConferenceBlock(String conferenceId, String member)