会议室通话

本文介绍与 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)