Conference Call

This topic introduces the functionalities and implementation methods related to conference call of 'Linkus SDK for Android'.

Initialize the conference call feature

To use the conference call feature, you need to initialize it in the main process of your project's Application class by calling the following method.
YlsConferenceManager.getInstance().setConferenceCallback(context, new ConferenceCallback() {
@Override
public void onConferenceException(ConferenceVo conferenceVo) {
        // Callback for exceptional conference call
        EventBus.getDefault().postSticky(new ConferenceExceptionEvent(conferenceVo));
        }

@Override
public void onConferenceStatusChange(String conferenceId, String number, int status) {
        // Callback for status of the conference call members
        EventBus.getDefault().post(new ConferenceStatusEvent(conferenceId, number, status));
        }
        });

Make a conference call

/**
 *
 * @param context
 * @param conferenceName:Conference name, which can NOT contain the following characters:  ! $ ( ) / # ; , [ ] " = < > & \ ' ``` ^ % @ { } | space, and can NOT exceed 63 characters
 * @param memberArray:Array of conference call members
 * @param requestCallback
 */
public void startConference(Context context, String conferenceName, String[] memberArray, RequestCallback requestCallback)

Manage conference call members

/**
 * When there are fewer than 9 members in a conference call, call this method to add the "Add Member" option
 *
 * @param memberList
 */
public void addNullMember(List<ConferenceMemberVo> memberList)

/**
 * This method is only available for the Host of a conference call
 * When there are fewer than 9 members in a conference call, call this method to add the "Add Member" option
 * When there are more than 2 members in a conference call, call this method to add the "Delete Member" option
 * @param memberList
 */
public void addNullMemberByAdmin(List<ConferenceMemberVo> memberList)

/**
  * When there are 9 members in a conference call, call this method to remove the "Add Member" option
  *
  * @param memberList
  */
public void removeNullMember(List<ConferenceMemberVo> memberList)

Manage conference calls

/**
 * 
 * During a conference call, the host mutes or unmutes all the members
 * @param conferenceId:ID of the conference call
 * @param member:Conference call members
 * @param isMute:Whether to mute all the members
 */
public ResultVo muteAllConferenceMemberBlock(String conferenceId, String member, boolean isMute)

/**
 * 
 * During a conference call, the host mutes or unmutes specific member(s)
 * @param conferenceId:ID of the conference call
 * @param number:ID of the specific member(s) to be muted or unmuted
 * @param isMute:Whether to mute the specific member(s)
 */
public ResultVo muteConferenceMemberBlock(String conferenceId, String number, boolean isMute)

/**
 * 
 * Host removes a specifc member from the conference call
 * @param conferenceId:ID of the conference call
 * @param number:ID of the specific member to be removed
 */
public ResultVo kickConferenceMemberBlock(String conferenceId, String number)

/**
 * 
 * Invite new members to the conference call
 * @param conferenceId:ID of the conference call
 * @param number:Number of the specific member to be invited
 */
public ResultVo inviteConferenceMemberBlock(String conferenceId, String number)

/**
 * 
 * Re-invite the members who were previously invited but have not yet joined the conference call
 * @param conferenceId:ID of the conference call
 * @param number:Number of the specific member to be invited
 */
public ResultVo reInviteConferenceMemberBlock(String conferenceId, String number)

/**
 * 
 * End the conference call
 * @param context
 * @param callId
 * @param conferenceVo
 * @param callback
 * @return
 */
public void endConferenceBlock(Context context, int callId, ConferenceVo conferenceVo, RequestCallback callback)

/**
 * 
 * Reconnect to the conference call that was interrupted unexpectedly.
 * @param context 
 * @param conferenceId:ID of the exceptional conference call
 * @param member:Conference call members
 * @return
 */
public ResultVo returnConferenceBlock(Context context, String conferenceId, String member)

Query conference call records

conferenceModelList = YlsConferenceManager.getInstance().getConferenceList();

Delete conference call records

/**
 * Delete specific conference call records
 * @param conferenceId:ID of the conference call record to be deleted
 */
public void deleteConferenceLog(String conferenceId)

/**
 * Delete all the conference call records
 */
public void deleteAllConferenceLog()        

Set / Query the end time of a conference call

/**
 * Set the end time of a conference call
 * @param endConferenceTime
 */
public void setEndConferenceTime(long endConferenceTime)

/**
 * Query the countdown time of a conference call
 * You can make a new conference call only when the countdown is negative
 * @return
 */
public long getCountDownTime()

Set / Query the cached information of a conference call

/**
 * Set the cached information (name, member, etc)of the current conference call 
 * @param conferenceVo
 */
public void setConferenceVo(ConferenceVo conferenceVo)

 /**
 * Query the cached information of the current conference call
 * @return
 */
public ConferenceVo getConferenceVo()

Reconnect to a conference call

/**
 * When a conference call was interrupted due to unstable network condition, use this method to reconnect to the conference call
 * @param conferenceId:ID of the exceptional conference call
 * @param member:Conference call members
 * @return
 */
public ResultVo returnConferenceBlock(String conferenceId, String member)