智慧服务,成就美好体验 项目咨询

主页 > 服务与支持 > 开发平台 > 客户端SDK参考 > Android Native SDK > 接口参考 会议

入门使用

会议

更新时间:2019-12-10

TsdkConferenceManager(会议管理类)

接口名称

接口描述

bookConference

预约会议。

queryConferenceList

获取会议列表。

queryConferenceDetail

获取会议详细信息。

joinConference

主动加入会议。

joinConferenceByAnonymous

加入匿名会议。

p2pTransferToConference

两方通话转会议。

TsdkConference(会议信息类)

注意事项

  • 因需要多次使用当前会议对象,因此可以定义一个全局变量,方便调用。

    TsdkConference currentConference = null;

  • 赋值
    当前会议对象(currentConference )赋值有两种:
    1. 自己创会,入会。需要在加入会议结果回调里面赋值。
    2. 被邀进入会议,可在会议来电回调里面赋值。

参数描述

变量名

类型

描述

Getter

Setter

handle

long

会议句柄

Y

Y

call

TsdkCall

TsdkCall对象

Y

Y

size

long

会议方数

Y

Y

confId

String

会议id

Y

Y

subject

String

会议主题

Y

Y

scheduserAccount

String

预订者帐号

Y

Y

scheduserName

String

预订者姓名

Y

Y

scheduserNumber

String

预订者号码

Y

Y

groupUri

String

群组uri

Y

Y

confState

TsdkConfState

会议状态

Y

Y

confMediaType

TsdkConfMediaType

媒体类型

Y

Y

isHdConf

boolean

是否高清视频会议

Y

Y

isLock

boolean

是否锁定

Y

Y

isAllMute

boolean

是否全场静音

Y

Y

isRecord

boolean

会议是否自动启动录制

Y

Y

confAttendeeUpdateType

TsdkConfAttendeeUpdateType

会议成员更新方式

Y

Y

attendeeList

List<TsdkAttendee>

与会者列表

Y

Y

self

TsdkAttendee

自己的信息

Y

Y

dataConfParam

TsdkConfDataconfParams

数据会议参数

Y

Y

svcConf

boolean

是否SVC会议

Y

Y

接口名称

接口描述

acceptConference

接听会议来电

rejectConference

拒接会议来电

leaveConference

离开会议

endConference

结束会议

upgradeConference

升级会议

muteConference

闭音会场

addAttendee

添加与会者

removeAttendee

删除与会者

handupAttendee

挂断与会者

redialAttendee

重拨与会者

muteAttendee

闭音与会者

setHandup

设置或取消举手

setVideoMode

设置会议视频模式

watchAttendee

观看与会者画面

broadcastAttendee

广播与会者

requestChairman

申请主席权限

releaseChairman

释放主席权限

joinDataConference

加入数据会议

attachSurfaceView

绑定视图

setPresenter

设置主讲人

sendChatMsg

发送聊天消息

setRecordBroadcast

设置录播

setLiveBroadcast

设置直播

startScreenShare

开始共享

stopScreenShare

停止共享

startAnnotation

开始标注

stopAnnotation

停止标注

setAnnotationLocalStatus

设置本地标注状态

setAnnotationPen

设置标注画笔

eraseAnnotation

擦除标注

clearAnnotation

清除标注

setAsOwner

设置共享权限

getShareCodecInfo

获取共享统计信息

bookConference

接口描述

预约会议(立即或延时召开)。

前提条件

  1. 鉴权登录成功。
  2. 会议环境参数已设置。

注意事项

  • 当实际与会者数目多于设置的会议方数时服务会自动扩大会议方数,当填写方数小于3时,服务器默认会议方数为3。
  • 会议开始时间如果没有指定,则表示会议马上开始。
  • 服务器默认时间为UTC时间,在预约时需将预约时间转换为UTC时间。
  • 如果创建的是立即会议,会议创建成功后,SDK会自动加入会议。

方法定义

public int bookConference(TsdkBookConfInfo bookConfInfo) 
 

参数描述

参数名

类型

描述

bookConfInfo

TsdkBookConfInfo

预约会议信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int bookConference(BookConferenceInfo bookConferenceInfo)
{
    Log.i(TAG, "bookConference.");
    if (bookConferenceInfo == null)
    {
        Log.e(TAG, "booKConferenceInfo obj is null");
        return -1;
    }
    TsdkBookConfInfo bookConfInfo = new TsdkBookConfInfo();
    if(bookConferenceInfo.isInstantConference()){
        bookConfInfo.setConfType(TsdkConfType.TSDK_E_CONF_INSTANT);
        bookConfInfo.setIsAutoProlong(1);
    }else {
        bookConfInfo.setConfType(TsdkConfType.TSDK_E_CONF_RESERVED);
    }
    bookConfInfo.setSubject(bookConferenceInfo.getSubject());
    bookConfInfo.setConfMediaType(bookConferenceInfo.getMediaType());
    bookConfInfo.setStartTime(bookConferenceInfo.getStartTime());
    bookConfInfo.setDuration(bookConferenceInfo.getDuration());
    bookConfInfo.setSize(bookConferenceInfo.getSize());
    List<TsdkAttendeeBaseInfo> attendeeList = ConfConvertUtil.memberListToAttendeeList(bookConferenceInfo.getMemberList());
    bookConfInfo.setAttendeeList(attendeeList);
    bookConfInfo.setAttendeeNum(attendeeList.size());
    //The other parameters are optional, using the default value
    //其他参数可选,使用默认值即可
    int result = TsdkManager.getInstance().getConferenceManager().bookConference(bookConfInfo);
    if (result != 0)
    {
        Log.e(TAG, "bookReservedConf result ->" + result);
        return  result;
    }
    return 0;
}
 

queryConferenceList

接口描述

获取会议列表。可以获取用户会议列表,包括用户自己创建的会议,以及待参加的会议。

前提条件

  1. 鉴权登录成功。
  2. 会议环境参数已设置。

注意事项

对应的回调函数为onEvtQueryConfListResult

方法定义

public int queryConferenceList(TsdkQueryConfListReq queryReq)
 

参数描述

参数名

类型

描述

queryReq

TsdkQueryConfListReq

获取会议列表信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int queryMyConfList(ConfConstant.ConfRight myRight)
{
    Log.i(TAG, "query my conf list.");
    TsdkConfRight tupConfRight;
    switch (myRight)
    {
        case MY_CREATE:
            tupConfRight = TsdkConfRight.TSDK_E_CONF_RIGHT_CREATE;
            break;
        case MY_JOIN:
            tupConfRight = TsdkConfRight.TSDK_E_CONF_RIGHT_JOIN;
            break;
        case MY_CREATE_AND_JOIN:
            tupConfRight = TsdkConfRight.TSDK_E_CONF_RIGHT_CREATE_JOIN;
            break;
        default:
            tupConfRight = TsdkConfRight.TSDK_E_CONF_RIGHT_CREATE_JOIN;
            break;
    }
    TsdkQueryConfListReq queryReq = new TsdkQueryConfListReq();
    queryReq.setPageSize(ConfConstant.PAGE_SIZE);
    queryReq.setPageIndex(1);    //当前Demo只查询一页,实际可根据需要分多页查询
    queryReq.setIsIncludeEnd(0); //不包含已结束的会议
    queryReq.setConfRight(tupConfRight);
    int result = TsdkManager.getInstance().getConferenceManager().queryConferenceList(queryReq);
    if (result != 0)
    {
        Log.e(TAG, "getConfList result ->" + result);
        return  result;
    }
    return 0;
}
 

queryConferenceDetail

接口描述

获取会议详细信息。

前提条件

  1. 鉴权登录成功。
  2. 会议环境参数已设置。

注意事项

对应的回调函数为onEvtQueryConfDetailResult

方法定义

public int queryConferenceDetail(TsdkQueryConfDetailReq queryReq) 
 

参数描述

参数名

类型

描述

queryReq

TsdkQueryConfDetailReq

获取会议详细信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int queryConfDetail(String confID)
{
    Log.i(TAG,  "query conf detail");
    TsdkQueryConfDetailReq queryReq = new TsdkQueryConfDetailReq();
    queryReq.setConfId(confID);
    int result = TsdkManager.getInstance().getConferenceManager().queryConferenceDetail(queryReq);
    if (result != 0)
    {
        Log.e(TAG, "getConfInfo result ->" + result);
        return  result;
    }
    return result;
}
 

joinConference

接口描述

主动加入会议。

注意事项

对应的回调函数为onEvtJoinConfResult

方法定义

public int joinConference(TsdkConfJoinParam confJoinParam, boolean isVideo, String joinNumber) 
 

参数描述

参数名

类型

描述

confJoinParam

TsdkConfJoinParam

入会参数。

isVideo

boolean

是否视频接入会议。

joinNumber

String

入会号码,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int joinConf(TsdkConfJoinParam confJoinParam, boolean isVideo, String joinNumber)
{
    Log.i(TAG,  "join conf.");
    int result = TsdkManager.getInstance().getConferenceManager().joinConference(confJoinParam, isVideo, joinNumber);
    if (result != 0)
    {
        Log.e(TAG, "joinConf result ->" + result);
        currentConference = null;
        return result;
    }
    return 0;
}
 

joinConferenceByAnonymous

接口描述

加入匿名会议。

注意事项

对应的回调函数为onEvtJoinConfResult

方法定义

public int joinConferenceByAnonymous(TsdkConfAnonymousJoinParam anonymousParam)
 

参数描述

参数名

类型

描述

anonymousParam

TsdkConfAnonymousJoinParam

匿名入会参数。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int joinConferenceByAnonymous(String confId, String confSubject,
                                     String confPassword, String serviceAddress,
                                     String servicePort)
{
    Log.e(TAG,  "joinConferenceByAnonymous");

    String localIpAddress = DeviceManager.getLocalIpAddress(false);
    TsdkLocalAddress localAddress = new TsdkLocalAddress(localIpAddress);
    TsdkManager.getInstance().setConfigParam(localAddress);

    TsdkConfAnonymousJoinParam anonymousParam = new TsdkConfAnonymousJoinParam();
    anonymousParam.setConfId(confId);
    anonymousParam.setConfPassword(confPassword);
    anonymousParam.setDisplayName(confSubject);
    anonymousParam.setServerAddr(serviceAddress);
    anonymousParam.setServerPort(Integer.valueOf(servicePort));
    anonymousParam.setUserId(1);

    int result = TsdkManager.getInstance().getConferenceManager().joinConferenceByAnonymous(anonymousParam);

    if (result != 0)
    {
        Log.e(TAG, "join anonymous conference result ->" + result);
        return result;
    }

    return 0;
}
 

p2pTransferToConference

接口描述

两方通话转会议。

注意事项

对应的回调函数为onEvtJoinConfResult

方法定义

public int p2pTransferToConference(TsdkBookConfInfo bookConfInfo, int callID)
 

参数描述

参数名

类型

描述

TsdkCall

tsdkCall

呼叫信息。

bookConfInfo

TsdkBookConfInfo

预约会议信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int callTransferToConference(int call_id){

    Log.i(TAG, "callTransferToConference.");

    Session callSession = CallMgr.getInstance().getCallSessionByCallID(call_id);
    if (callSession == null)
    {
        Log.e(TAG, "call Session is null.");
        return -1;
    }

    TsdkCallInfo callInfo =  callSession.getTsdkCall().getCallInfo();
    if (callInfo == null)
    {
        Log.e(TAG, "call is invalid.");
        return -1;
    }

    TsdkBookConfInfo bookConfInfo = new TsdkBookConfInfo();

    bookConfInfo.setConfType(TsdkConfType.TSDK_E_CONF_INSTANT);
    bookConfInfo.setIsAutoProlong(1);

    bookConfInfo.setSubject(LoginMgr.getInstance().getAccount() + "'s Meeting");
    if (1 == callInfo.getIsVideoCall()) {
        bookConfInfo.setConfMediaType(TSDK_E_CONF_MEDIA_VIDEO);
    }else {
        bookConfInfo.setConfMediaType(TSDK_E_CONF_MEDIA_VOICE);
    }

    bookConfInfo.setSize(2);

    List<TsdkAttendeeBaseInfo> attendeeList = new ArrayList<>();
    TsdkAttendeeBaseInfo confctrlAttendee = new TsdkAttendeeBaseInfo();
    //confctrlAttendee.setNumber(callInfo.getPeerNumber());
    confctrlAttendee.setRole(TsdkConfRole.TSDK_E_CONF_ROLE_ATTENDEE);
    attendeeList.add(confctrlAttendee);

    bookConfInfo.setAttendeeList(attendeeList);
    bookConfInfo.setAttendeeNum(attendeeList.size());

    //The other parameters are optional, using the default value
    //其他参数可选,使用默认值即可
    bookConfInfo.setLanguage(TsdkConfLanguage.TSDK_E_CONF_LANGUAGE_EN_US);

    int result = TsdkManager.getInstance().getConferenceManager().p2pTransferToConference(call_id, bookConfInfo);
    if (result != 0) {
        Log.e(TAG, "call transfer to conference is return failed, result = " + result);
    }
    return result;
}
 

acceptConference

接口描述

接听会议来电。

注意事项

无。

方法定义

public int acceptConference(boolean isVideo)
 

参数描述

参数名

类型

描述

isVideo

boolean

是否接入视频会议。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int acceptConf(boolean isVideo)
{
    Log.i(TAG,  "accept conf.");

    if (null == currentConference)
    {
        Log.i(TAG,  "accept conf, currentConference is null ");
        return 0;
    }

    int result = currentConference.acceptConference(isVideo);
    if (result == 0) {
        Log.i(TAG,  "accept conf");
    }

    return result;
}
 

rejectConference

接口描述

收到邀请加入会议的请求时,用户可以通过调用此方法拒绝会议来电邀请。

注意事项

无。

方法定义

public int rejectConference() 
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int rejectConf()
{
    Log.i(TAG,  "reject conf.");

    if (null == currentConference)
    {
        Log.i(TAG,  "reject conf, currentConference is null ");
        return 0;
    }

    int result = currentConference.rejectConference();
    if (result == 0) {
        currentConference = null;
    }

    return result;
}
 

leaveConference

接口描述

离开会议。

注意事项

对应的最终结果事件通知为onEvtInfoAndStatusUpdate

方法定义

public int leaveConference()
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int leaveConf()
{
    if (null == currentConference)
    {
        Log.i(TAG,  "leave conf, currentConference is null ");
        return 0;
    }

    int result = currentConference.leaveConference();
    if (result == 0) {
        currentConference = null;
    }

    return result;
}
 

endConference

接口描述

结束会议。

注意事项

回调事件:onEvtConfEndInd

方法定义

public int endConference()
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int endConf()
{
    if (null == currentConference)
    {
        Log.i(TAG,  "end conf, currentConference is null ");
        return 0;
    }

    int result =  currentConference.endConference();
    if (result == 0) {
        currentConference = null;
    }

    return result;
}
 

upgradeConference

接口描述

此方法用于升级会议模式,包括语音会议升级为数据会议、视频会议升级为数据会议。

前提条件

已创建待升级的会议。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int upgradeConference(String groupUri) 
 

参数描述

参数名

类型

描述

groupUri

String

群组ID,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int upgradeConf()
{
    if (null == currentConference)
    {
        Log.e(TAG,  "upgrade conf failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.upgradeConference("");

    return result;
}
 

muteConference

接口描述

设置或取消闭音会场。

前提条件

与会者通过主席身份加入会议。

注意事项

  • 设置会议闭音后,除主席外,其他所有与会者均不可说(只可听)。
  • 对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int muteConference(boolean isMute)
 

参数描述

参数名

类型

描述

isMute

boolean

是否闭音。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int muteConf(boolean isMute)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "mute conf failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.muteConference(isMute);

    return result;
}
 

addAttendee

接口描述

会议主席添加新的与会者加入会议。

前提条件

与会者通过主席身份加入会议。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int addAttendee(TsdkAddAttendeesInfo addAttendeeInfo) 
 

参数描述

参数名

类型

描述

addAttendeeInfo

TsdkAddAttendeesInfo

与会者信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int addAttendee(Member attendee)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "add attendee failed, currentConference is null ");
        return -1;
    }

    TsdkAttendeeBaseInfo attendeeBaseInfo = new TsdkAttendeeBaseInfo();
    attendeeBaseInfo.setNumber(attendee.getNumber());
    attendeeBaseInfo.setDisplayName(attendee.getDisplayName());
    attendeeBaseInfo.setAccountId(attendee.getAccountId());
    attendeeBaseInfo.setRole(attendee.getRole());

    List<TsdkAttendeeBaseInfo> attendeeList = new ArrayList<>();
    attendeeList.add(attendeeBaseInfo);

    TsdkAddAttendeesInfo addAttendeeInfo = new TsdkAddAttendeesInfo(attendeeList, attendeeList.size());

    int result =  currentConference.addAttendee(addAttendeeInfo);

    return result;
}
 

removeAttendee

接口描述

删除与会者,包括踢出正在会议中的与会者、移除已离会的与会者和取消正在邀请的与会者。

前提条件

与会者通过主席身份加入会议。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int removeAttendee(String attendee) 
 

参数描述

参数名

类型

描述

attendee

String

与会者信息,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int removeAttendee(Member attendee)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "remove attendee failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.removeAttendee(attendee.getNumber());

    return result;
}
 

handupAttendee

接口描述

挂断与会者。

前提条件

与会者通过主席身份加入会议。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int handupAttendee(String attendee) 
 

参数描述

参数名

类型

描述

attendee

String

与会者信息,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//java code
public int hangupAttendee(Member attendee)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "hangup attendee failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.handupAttendee(attendee.getNumber());

    return result;
}
 

redialAttendee

接口描述

重拨与会者。

主席会控,重新呼叫在与会者列表中处于离会状态的与会者。

注意事项

无。

方法定义

public int redialAttendee(String attendee)
 

参数描述

参数名

类型

描述

attendee

String

与会者信息,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//java code
public int redialAttendee(Member attendee)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "redial attendee failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.redialAttendee(attendee.getNumber());

    return result;
}
 

muteAttendee

接口描述

设置与会者闭音。设置闭音后,该与会者不可说(只可听)。

前提条件

主席和与会者均已在会议中。

注意事项

主席可对所有与会者设置或取消闭音,普通与会者只可对自己设置或取消闭音,被设置闭音时,与会者可听不可说。

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int muteAttendee(String attendee, boolean isMute) 
 

参数描述

参数名

类型

描述

attendee

String

与会者信息,最大长度127字节。

isMute

boolean

是否闭音。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int muteAttendee(Member attendee, boolean isMute)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "mute attendee failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.muteAttendee(attendee.getNumber(), isMute);

    return result;
}
 

setHandup

接口描述

会议中,普通与会者可以调用此方法设置或取消自己的举手,会议主席可以调用此方法取消其他与会者的举手。

前提条件

主席和与会者均已在会议中。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int setHandup(String attendee, boolean isHandup) 
 

参数描述

参数名

类型

描述

attendee

String

与会者信息(若设置自己,则无需填写),最大长度127字节。

isHandup

boolean

是否举手。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int handup(boolean handUp, Member attendee)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "request chairman failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.setHandup(attendee.getNumber(), handUp);

    return result;
}
 

setVideoMode

接口描述

设置会议视频模式。

注意事项

对应的结果事件通知为onEvtConfctrlOperationResult

方法定义

public int setVideoMode(TsdkConfVideoMode mode) 
 

参数描述

参数名

类型

描述

mode

TsdkConfVideoMode

会议视频模式。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int setConfMode(TsdkConfVideoMode confctrlConfMode)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "set conf mode failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.setVideoMode(confctrlConfMode);

    return result;
}
 

watchAttendee

接口描述

当主席广播会场时,主席侧可以选看会场,被广播的与会者侧以及其他与会者侧都不可以选看会场。

前提条件

主席和与会者均已在会议中,且当前会议模式为“自由模式”。

注意事项

建议应用程序UI在主席广播会场时,屏蔽选看入口。

方法定义

public int watchAttendee(TsdkWatchAttendeesInfo watchAttendeesInfo) 
 

参数描述

参数名

类型

描述

watchAttendeesInfo

TsdkWatchAttendeesInfo

与会者信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//java code
public int watchAttendee(Member attendee)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "broadcast attendee failed, currentConference is null ");
        return -1;
    }

    TsdkWatchAttendeesInfo watchAttendeesInfo = new TsdkWatchAttendeesInfo();

    TsdkWatchAttendees attendees = new TsdkWatchAttendees();
    attendees.setNumber(attendee.getNumber());

    List<TsdkWatchAttendees> list = new ArrayList<>();
    list.add(attendees);

    watchAttendeesInfo.setWatchAttendeeList(list);
    watchAttendeesInfo.setWatchAttendeeNum(list.size());

    int result = currentConference.watchAttendee(watchAttendeesInfo);

    return result;
}
 

broadcastAttendee

接口描述

广播或取消广播指定与会者(会场)。

前提条件

主席和与会者均已在会议中,且当前会议模式为“广播模式”。

注意事项

无。

方法定义

public int broadcastAttendee(String attendee, boolean isRoadcast)
 

参数描述

参数名

类型

描述

attendee

String

与会者信息,最大长度127字节。

isBroadcast

boolean

广播或是取消广播。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//java code
public int broadcastAttendee(Member attendee, boolean isBroadcast)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "broadcast attendee failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.broadcastAttendee(attendee.getNumber(), isBroadcast);

     return result;
}
 

requestChairman

接口描述

申请主席权限。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int requestChairman(String password) 
 

参数描述

参数名

类型

描述

password

String

主席密码,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int requestChairman(String chairmanPassword)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "request chairman failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.requestChairman(chairmanPassword);

    return result;
}
 

releaseChairman

接口描述

释放主席权限。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法义

public int releaseChairman() 
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int releaseChairman()
{
    if (null == currentConference)
    {
        Log.e(TAG,  "release chairman failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.releaseChairman();

    return result;
}
 

joinDataConference

接口描述

加入数据会议。

注意事项

对应的回调函数为onEvtJoinDataConfResult

方法定义

public int joinDataConference() 
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int joinDataConf()
{
    if (null == currentConference)
    {
        Log.e(TAG,  "join data conf failed, currentConference is null ");
        return -1;
    }

    int result =  currentConference.joinDataConference();

    return result;
}
 

attachSurfaceView

接口描述

绑定视图。

注意事项

无。

方法定义

public void attachSurfaceView(ViewGroup container, Context context)
 

参数描述

参数名

类型

描述

container

ViewGroup

视图组件。

context

Context

上下文。

返回值

无。

代码示例

//Java code
public void attachSurfaceView(ViewGroup container, Context context)
{
    if (null == currentConference)
    {
        Log.e(TAG,  "attach surface view failed, currentConference is null ");
        return;
    }
    currentConference.attachSurfaceView(container, context);
}
 

setPresenter

接口描述

设置主讲人。

注意事项

无。

方法定义

public int setPresenter(String attendee)
 

参数描述

参数名

类型

描述

attendee

String

与会者信息,最大长度127字节。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int setPresenter(Member attendee)
{
	if (null == currentConference)
	{
		Log.e(TAG,  "set presenter failed, currentConference is null ");
		return -1;
	}

	int result = currentConference.setPresenter(attendee.getNumber());

	return result;
}
 

sendChatMsg

接口描述

发送聊天消息。

注意事项

无。

方法定义

public int sendChatMsg(TsdkConfChatMsgInfo confChatMsgInfo)
 

参数描述

参数名

类型

描述

confChatMsgInfo

TsdkConfChatMsgInfo

聊天相关信息。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
 public void sendConfMessage(String message)
    {
        if (null == currentConference)
        {
            Log.e(TAG,  "send chat failed, currentConference is null ");
            return;
        }
        TsdkConfChatMsgInfo chatMsgInfo = new TsdkConfChatMsgInfo();
        chatMsgInfo.setChatType(TsdkConfChatType.TSDK_E_CONF_CHAT_PUBLIC);
        chatMsgInfo.setChatMsg(message);
        chatMsgInfo.setSenderDisplayName(self.getDisplayName());
        currentConference.sendChatMsg(chatMsgInfo);
    }
 

setRecordBroadcast

接口描述

开始或停止录播。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int setRecordBroadcast(TsdkConfRecordStatus recordBroadcast)
 

参数描述

参数名

类型

描述

recordBroadcast

TsdkConfRecordStatus

录播状态。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int recordConf(boolean isRecode)
{
    int result;
    if (null == currentConference) 
    {        
        Log.e(TAG, "record  conf failed, currentConference is null ");
        return -1;   
    }
    if (isRecode) 
    {       
         result = currentConference.setRecordBroadcast(TSDK_E_CONF_RECORD_START);    
    } 
    else 
    {        
        result = currentConference.setRecordBroadcast(TSDK_E_CONF_RECORD_STOP); 
    }
    return result;
}
 

setLiveBroadcast

接口描述

开始或停止直播。

注意事项

对应的回调函数为onEvtConfctrlOperationResult

方法定义

public int setLiveBroadcast(TsdkConfRecordStatus liveBroadcast)
 

参数描述

参数名

类型

描述

liveBroadcast

TsdkConfRecordStatus

直播状态。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int recordConf(boolean isRecode)
{
    int result;
    if (null == currentConference) 
    {        
        Log.e(TAG, "record  conf failed, currentConference is null ");
        return -1;   
    }
    if (isRecode) 
    {       
         result = currentConference.setLiveBroadcast(TSDK_E_CONF_RECORD_START);    
    } 
    else 
    {        
        result = currentConference.setLiveBroadcast(TSDK_E_CONF_RECORD_STOP); 
    }
    return result;
}
 

startScreenShare

接口描述

开始桌面共享。

注意事项

需要先申请截屏权限,申请成功之后调用此接口。

方法定义

public int startScreenShare(Context context, Intent data)
 

参数描述

参数名

类型

描述

context

Context

上下文

data

Intent

屏幕捕捉的Intent,通过此参数来获取MediaProjection实例

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
@TargetApi(21)
    private void requestScreenSharePermission(){
        MediaProjectionManager localMediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
        if (null != localMediaProjectionManager) {
            startActivityForResult(localMediaProjectionManager.createScreenCaptureIntent(), UIConstants.REQUEST_MEDIA_PROJECTION);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //设置返回处理,只有require 的权限需要处理取消逻辑,其他的权限场景只处理成功逻辑
        if (Activity.RESULT_OK != resultCode) {
            Log.d("ConfManagerActivity", "resultCode is not ok requestCode: " + requestCode);
            return;
        }
        switch (requestCode){
            case UIConstants.REQUEST_MEDIA_PROJECTION:
                if (data != null) {
                    // 获取到截屏权限后,先判断是否悬浮窗权限
                    mPresenter.startScreenShare(this , data);
                }
                break;
            default:
                break;
        }
    }
 

stopScreenShare

接口描述

停止桌面共享。

注意事项

无。

方法定义

public void stopScreenShare()
 

参数描述

无。

返回值

无。

代码示例

//Java code
public void stopScreenShare(){
        if (null == currentConference)
        {
            Log.e(TAG,  "stop screen share failed, currentConference is null ");
            return ;
        }
        currentConference.stopScreenShare();
    }
 

startAnnotation

接口描述

开始标注。

注意事项

只有主动共享者需要调用。

方法定义

public int startAnnotation()
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int startAnnotation( ){
        if (null == currentConference)
        {
            Log.e(TAG,  "start annotation failed, currentConference is null ");
            return -1;
        }
        int result =  currentConference.startAnnotation();
        return result;
    }
 

stopAnnotation

接口描述

停止标注。

注意事项

无。

方法定义

public int stopAnnotation()
 

参数描述

无。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int stopAnnotation(){
        if (null == currentConference)
        {
            Log.e(TAG,  "stop annotation failed, currentConference is null ");
            return -1;
        }
        int result =  currentConference.stopAnnotation();
        return result;
    }
 

setAnnotationLocalStatus

接口描述

打开、关闭本地主动标注功能。

注意事项

在打开前,应用程序应完成画笔设置,否则使用默认画笔。

方法定义

public void setAnnotationLocalStatus(boolean enable)
 

参数描述

参数名

类型

描述

enable

boolean

打开或关闭本地主动标注功能

返回值

无。

代码示例

//Java code
public void setAnnotationLocalStatus(boolean enable) {
        if (null == currentConference)
        {
            Log.e(TAG,  "set annotation local status failed, currentConference is null ");
            return;
        }
        currentConference.setAnnotationLocalStatus(enable);
    }
 

setAnnotationPen

接口描述

设置标注画笔。

注意事项

无。

方法定义

public void setAnnotationPen(int penColor, int penWidth)
 

参数描述

参数名

类型

描述

penColor

int

画笔颜色(RGBA),用0xRRGGBBAA表示

penWidth

int

画笔宽度

返回值

无。

代码示例

//Java code
public void setAnnotationPen(int penColor, int penWidth) {
        if (null == currentConference)
        {
            Log.e(TAG,  "set annotation pen failed, currentConference is null ");
            return;
        }
        currentConference.setAnnotationPen(penColor, penWidth);
    }
 

eraseAnnotation

接口描述

标注栏中的橡皮擦()功能接口,用于擦除标注。

注意事项

入参为true,可以擦除自己和其他与会者的标注。为false只能擦除自己的标注。橡皮擦只能一条一条擦除。

方法定义

public void eraseAnnotation(boolean isAll)
 

参数描述

参数名

类型

描述

isAll

boolean

是否清除所有。

返回值

无。

代码示例

//Java code
public void eraseAnnotation(boolean isAll) {
        if (null == currentConference)
        {
            Log.e(TAG,  "erase annotation failed, currentConference is null ");
            return;
        }
        currentConference.eraseAnnotation(isAll);
    }
 

clearAnnotation

接口描述

标注栏中的清除()功能接口,用于清除标注。

注意事项

入参为true,可以清除自己和其他与会者的标注。为false只能清除自己的标注。可以一次性清除所有已经标注的内容。

方法定义

public void clearAnnotation(boolean isAll)
 

参数描述

参数名

类型

描述

isAll

boolean

是否清除所有。

返回值

无。

代码示例

//Java code
public void clearAnnotation(boolean isAll) {
        if (null == currentConference)
        {
            Log.e(TAG,  "clear annotation failed, currentConference is null ");
            return;
        }
        currentConference.clearAnnotation(isAll);
    }
 

setAsOwner

接口描述

设置共享权限。

注意事项

无。

方法定义

public int setAsOwner(String attendee, TsdkConfAsActionType actionType)
 

参数描述

参数名

类型

描述

attendee

String

与会者号码。

actionType

TsdkConfAsActionType

共享行为类型。

返回值

类型

描述

int

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

//Java code
public int setAsOwner(String attendee, TsdkConfAsActionType actionType){
        if (null == currentConference)
        {
            Log.e(TAG,  "clear annotation failed, currentConference is null ");
            return -1;
        }
        return currentConference.setAsOwner(attendee, actionType);
    }
 

getShareCodecInfo

接口描述

获取共享统计信息。

注意事项

无。

方法定义

 public void getShareCodecInfo()
 

参数描述

无。

返回值

无。

代码示例

//Java code
public void getShareStatisticInfo(){
	if (null == currentConference)
	{
		return ;
	}
	currentConference.getShareCodecInfo();
}