MeetingEngine 是 SMeeting Android SDK 的公开业务入口,通过 MeetingEngine.create(application) 创建。它负责 SDK 初始化与释放、会前会议管理、入会与离会、会中控制、本地媒体、共享、消息和远端媒体订阅。
使用说明
MeetingEngine.create(application)每次创建一个 Engine 实例。应用应在进程内集中持有一个实例,并在不再使用时调用release()。- 当前公开 API 采用单会议模型:同一 Engine 同时只能有一场加入中或活动会议;重复入会返回
MeetingErrorCode.SESSION_ALREADY_ACTIVE。 - 入会成功返回 MeetingEnterInfo,后续会中能力继续通过当前
MeetingEngine调用。 - 所有异步结果回调保持实际来源线程,不保证主线程;更新 UI 前应切换到主线程。
MeetingResultCallback/MeetingValueResultCallback<T>的失败方法是onFailure(errorCode, message)。message仅用于诊断,不应直接展示给用户。roomEvent、userEvent、mediaEvent、messageEvent会绑定当前会议并在离会时清除;需要接收下一场会议事件时应重新赋值。Engine、IM 和设备事件与 Engine 生命周期一致。
创建与版本
create(app)
MeetingEngine 实例。
参数说明:
返回值说明:新建的
MeetingEngine。
version()
2.0.35。
buildTime()
管理器属性
infosManager
rollCallManager
SESSION_NOT_ACTIVE。详见 RollCallManager。
signInManager
SESSION_NOT_ACTIVE。详见 SignInManager。
事件属性
以下属性通过直接赋值注册监听,赋null 取消监听。每个事件的回调参数与线程语义见对应接口页。
初始化与释放
initSdk(meetToken, options, callback)
返回值说明:无(
Unit)。
updateMediaOptions(options)
返回值说明:无(
Unit)。
release()
Unit)。
媒体统计与云录制采集
getMetric()
MediaMetric.Metric 副本;未入会或首个约 5 秒采样尚未产生时为 null。字段见媒体质量。
enableClientCloudRecordCapture
TrackDesc.TRACK_SHARE 轨道。开启后可通过 getShareCustomVideoTrack() 获取自定义视频轨。
getShareCustomVideoTrack(preOpt)
返回值说明:缓存或新建的
LocalCustomVideoTrack;底层 SRTC 尚未就绪或无法创建轨道时为 null。enableClientCloudRecordCapture 约束的是后续课程录制发布流程,不阻止提前取得并写入该轨道。
当前用户信息
getSelfInfo(callback)
返回值说明:无(异步结果见回调)。
主持人成员控制
adminUpdateUserName(targetId, name, callback)
返回值说明:无(异步结果见回调)。
adminUpdateUserRole(targetId, role, callback)
返回值说明:无(异步结果见回调)。
adminMoveHost(targetId, callback)
返回值说明:无(异步结果见回调)。
adminUpdateUserDrawDisabled(targetId, drawDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateUserChatDisabled(targetId, chatDisabled, callback)
返回值说明:无(异步结果见回调)。
adminRequestUserOpenCamera(targetId, callback)
MeetingUserEvent.onRequestOpenCamera() 接收请求。
参数说明:
返回值说明:无(异步结果见回调)。
adminCloseUserCamera(targetId, callback)
返回值说明:无(异步结果见回调)。
adminDisableUserCamera(targetId, cameraDisabled, callback)
返回值说明:无(异步结果见回调)。
:::warning
当前版本尚未实现该能力,不应依赖它完成会控;需要立即关闭摄像头时使用
adminCloseUserCamera()。
:::
adminRequestUserOpenMic(targetId, callback)
MeetingUserEvent.onRequestOpenMic() 接收请求。
参数说明:
返回值说明:无(异步结果见回调)。
adminCloseUserMic(targetId, callback)
返回值说明:无(异步结果见回调)。
adminDisableUserMic(targetId, micDisabled, callback)
返回值说明:无(异步结果见回调)。
:::warning
当前版本尚未实现该能力,不应依赖它完成会控;需要立即关闭麦克风时使用
adminCloseUserMic()。
:::
adminRequestUserShare(targetId, callback)
返回值说明:无(异步结果见回调)。
adminStopRoomShare(callback)
返回值说明:无(异步结果见回调)。
adminInviteAgent(agents, callback)
返回值说明:无(异步结果见回调)。
adminKickUserOut(targetId, callback)
返回值说明:无(异步结果见回调)。
adminConfirmHandUp(targetId, code, approve, callback)
返回值说明:无(异步结果见回调)。
adminGetOnlineMembers(meetingId, page, prePage, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomMCUMode()
Unit)。
:::warning
当前版本尚未实现该接口,调用只记录警告日志。
:::
等候室
adminWaitingRoomDisabled(waitingRoomDisabled, callback)
返回值说明:无(异步结果见回调)。
adminMoveOutWaitingRoom(uid, callback)
返回值说明:无(异步结果见回调)。
adminMoveInWaitingRoom(uid, nickName, callback)
返回值说明:无(异步结果见回调)。
adminGetWaitingRoomUsers(callback)
返回值说明:无(异步结果见回调)。
讨论组
createSubMeeting(subMeetingTitles, callback)
返回值说明:无(异步结果见回调)。
updateSubMeetingTitle(id, title, callback)
返回值说明:无(异步结果见回调)。
updateSubMeetingUsers(id, members, callback)
返回值说明:无(异步结果见回调)。
deleteSubMeeting(ids, callback)
返回值说明:无(异步结果见回调)。
getSubMeetingList(callback)
返回值说明:无(异步结果见回调)。
startSubMeeting(ids, callback)
返回值说明:无(异步结果见回调)。
stopSubMeeting(ids, callback)
返回值说明:无(异步结果见回调)。
moveSubMeetingUser(fromId, toId, uid, callback)
返回值说明:无(异步结果见回调)。
updateEnterBeforeHostDisabled(meetingId, enterBeforeHostDisabled, callback)
返回值说明:无(异步结果见回调)。
helpSubMeeting(meetingId, callback)
返回值说明:无(异步结果见回调)。
当前用户昵称
updateName(name, callback)
返回值说明:无(异步结果见回调)。
用户、IM 与呼叫
getAgentList(types, keyword, page, perPage, callback)
返回值说明:无(异步结果见回调)。
enableIm(callback)
imEvent 通知。
参数说明:
返回值说明:无(异步结果见回调)。
disableIm()
MeetingImEvent.onImDisconnected()。
参数说明:无。
返回值说明:无(Unit)。
callUser(targetUids, callback)
返回值说明:无(异步结果见回调)。
会前会议管理
createImmediateMeeting(title, option, callback)
返回值说明:无(异步结果见回调)。
createScheduleMeeting(title, planTime, planDur, option, callback)
返回值说明:无(异步结果见回调)。
updateMeetingBeforeStart(meetingId, option, callback)
返回值说明:无(异步结果见回调)。
getMeetingList(page, perPage, callback)
返回值说明:无(异步结果见回调)。
getHistoryMeetingList(page, perPage, callback)
返回值说明:无(异步结果见回调)。
getMeetingDetail(meetingId, callback)
返回值说明:无(异步结果见回调)。
getMeetingDetailByRoomNo(roomNo, callback)
返回值说明:无(异步结果见回调)。
cancelMeetingBeforeStart(meetingId, callback)
返回值说明:无(异步结果见回调)。
入会与离会
enterMeeting(activity, roomNo, password, nick, avatar, streamVendor, isAudience, extendInfo, callback)
返回值说明:无(异步结果见回调)。
enterMeetingByMeetingId(activity, meetingId, password, nick, avatar, streamVendor, isAudience, extendInfo, callback)
enterMeeting() 相同。
参数说明:
返回值说明:无(异步结果见回调)。
exitWaitingRoom(callback)
返回值说明:无(异步结果见回调)。
exitMeeting()
Unit)。
主持人房间控制
adminDestroyMeeting(callback)
返回值说明:无(异步结果见回调)。
adminUpdateConferee(conferees, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomCameraState(selfUnMuteCameraDisabled, cameraDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomSelfUnmuteCameraDisabled(selfUnMuteCameraDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomMicState(selfUnMuteMicDisabled, micDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomSelfUnmuteMicDisabled(selfUnMuteMicDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomShareState(shareDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomChatDisabled(chatDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomScreenshotDisabled(screenshotDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomWatermarkDisabled(watermarkDisabled, callback)
返回值说明:无(异步结果见回调)。
adminUpdateRoomLocked(locked, callback)
返回值说明:无(异步结果见回调)。
本地摄像头
openCamera(view, preOption, callback)
返回值说明:无(异步结果见回调)。
openCameraAndPublish(view, preOption, callback)
返回值说明:无(异步结果见回调)。
closeCamera()
Unit)。
switchCamera(isFrontCamera)
返回值说明:无(
Unit)。
getCameraDevices()
switchCameraDevice(cameraId)
返回值说明:无(
Unit)。
switchFrontCameraMirror(open)
返回值说明:无(
Unit)。
isFrontCameraMirrorOpen()
true 表示镜像已开启;当前默认开启。
addPreview(view)
返回值说明:
true 表示绑定成功,false 表示控件类型无效或当前轨道不可用。
removePreview(view)
返回值说明:无(
Unit)。
replacePreview(views)
返回值说明:无(
Unit)。
getAllPreview()
本地麦克风
openMic(preOption, callback)
返回值说明:无(异步结果见回调)。
openMicAndPublish(preOption, callback)
返回值说明:无(异步结果见回调)。
closeMic()
Unit)。
getMicVolume()
null。
getMicDevices()
switchMicDevice(deviceId)
返回值说明:无(
Unit)。
屏幕共享
initScreenShare(activity, notificationParam, preOpt)
返回值说明:无(
Unit)。采集状态通过 screenCaptureEvent 返回。
startScreenShare(hasBar, callback)
initScreenShare()。
参数说明:
返回值说明:无(异步结果见回调)。
stopScreenShare()
Unit)。
confirmStartScreenShareAgree(targetId, hasBar, callback)
返回值说明:无(异步结果见回调)。
confirmStartScreenShareRefuse(targetId, callback)
返回值说明:无(异步结果见回调)。
白板共享
requestShareBoard(callback)
返回值说明:无(异步结果见回调)。
stopShareWhiteBoard()
Unit)。
confirmStartWhiteBoardShareAgree(targetId, callback)
返回值说明:无(异步结果见回调)。
confirmStartWhiteBoardShareRefuse(targetId, callback)
返回值说明:无(异步结果见回调)。
房间消息与举手
sendRoomChatMessage(targetId, msg, msgType, callback)
返回值说明:无(异步结果见回调)。
sendRoomCustomMessage(targetId, msg, callback)
MeetingMessageEvent.onExtensionMessage() 处理扩展消息。
参数说明:
返回值说明:无(异步结果见回调)。
getRoomChatMsgList(page, prePage, callback)
返回值说明:无(异步结果见回调)。
requestHandUp(code, callback)
返回值说明:无(异步结果见回调)。
cancelHandUp(code)
返回值说明:无(
Unit)。
设备开启请求回复
confirmOpenCameraAgree(targetId, view, preOpt, callback)
返回值说明:无(异步结果见回调)。
confirmOpenCameraRefuse(targetId, callback)
返回值说明:无(异步结果见回调)。
confirmOpenMicAgree(targetId, preOpt, callback)
返回值说明:无(异步结果见回调)。
confirmOpenMicRefuse(targetId, callback)
返回值说明:无(异步结果见回调)。
云录制与课程录制
startCloudRecord(layoutData, callback)
返回值说明:无(异步结果见回调)。
stopCloudRecord(callback)
返回值说明:无(异步结果见回调)。
enableCourseRecordTrack(track, callback)
TRACK_SHARE 发布,用于课程录制。该方法只处理媒体轨道,录制业务请求由应用另行发起。
参数说明:
返回值说明:无(异步结果见回调)。
disableCourseRecordTrack()
Unit)。
音频路由与远端音频
toggleRemoteAudioMute(mute)
返回值说明:无(
Unit)。
getAudioRouterManager()
AudioRouterManager?;SDK 未就绪时为 null。调用方不得直接调用其 release()。
releaseAudioRouterManager()
Unit)。
远端成员视频
startPlayRemoteVideo(uid, trackDesc, view, event, callback)
RemoteVideoTrack 控制对象。
参数说明:
返回值说明:无(异步结果见回调)。
stopPlayRemoteVideo(uid, trackDesc)
返回值说明:无(
Unit)。
getRemoteVideoTrack(uid, trackDesc)
返回值说明:匹配的
RemoteVideoTrack;未入会或未创建控制轨时为 null。轨道渲染方法见 SRTC RemoteVideoTrack。
远端合成流
startPlayRemoteMixture(view, event, callback)
返回值说明:无(异步结果见回调)。
stopPlayRemoteMixture()
Unit)。
getRemoteMixtureTrack()
RemoteVideoTrack?;未入会或尚未创建时为 null。
网宿通用流
:::warning 本组接口只适用于网宿(WS)流媒体引擎,且必须已经入会。非 WS 引擎调用会返回底层不支持错误或空控制轨。 :::subscribeWsVideoStream(streamName, uid, trackDesc, view, event, callback)
返回值说明:无(异步结果见回调)。
subscribeWsAudioStream(streamName, uid, trackDesc, callback)
返回值说明:无(异步结果见回调)。
unsubscribeWsVideoStream(streamName, uid, trackDesc)
返回值说明:无(
Unit)。
unsubscribeWsAudioStream(streamName, uid, trackDesc)
返回值说明:无(
Unit)。
getWsVideoStreamTrack(uid, trackDesc)
返回值说明:
RemoteVideoTrack?;音频流、非 WS 引擎或未入会时为 null。