import { default as XYRTCClient } from '../client'; import { OriginalNotification, OriginalRealTimeNotification, IReturnResult, ISubTitle, IEPMessage, IWaitingState, IMeetingControl, IRecordStatusNotification, IRecordingStateChanged, XYBaseModule } from '../../type/index'; export declare class XYMeetingControl implements XYBaseModule { private client; private logger; private action; private onhold; private handStatus; private cacheMeetingControlMessage; private recordStatusNotification; private recordState; private signInServerAPI; private signInServerPromise; private interactiveToolInfo; constructor(client: XYRTCClient); destroy(): void; getOnHold(): boolean; getHandStatus(): boolean; /** * 设置本地是否在等候室 * * @param { boolean } onhold - 是否在等候室 */ setOnHold(onhold: boolean): boolean; /** * 本地举手、结束发言等操作 * * @param { 'handup' | 'handdown' | 'mute' } type 操作类型 * @param { boolean } handStatus 是否举手 * @returns { Promise } 举手状态 */ onHand(type: 'handup' | 'handdown' | 'mute', handStatus: boolean): Promise; /** * 处理联席主持人/主持人/改名权限 等消息 * * @param { OriginalNotification } data - 消息内容 */ handleNotificationMessage(data: OriginalNotification): void; /** * 会控互动工具相关数据, 签到等 * * @param { OriginalRealTimeNotification } data - 信令下发的原始数据 */ handleRealTimeNotificationMessage(data: OriginalRealTimeNotification): Promise; /** * 通过serverConfig获取签到url * * @param { string } urlPropKey - 签到url key */ private getSignInServer; /** * 实际执行获取签到服务器的请求 * * @param { string } urlPropKey - 签到url key */ private fetchSignInServer; /** * 获取签到文案 * * @property { SignInTextParams } - 参数 * @returns { Promise } - 签到文案 */ private getSignInText; /** * 签到 * * @property { string } questionnaireId - 业务ID * @returns { Promise } - 签到结果 */ signIn(questionnaireId: string): Promise; /** * 上报Web轮询能力 */ reportPollingCapability(): Promise; /** * 处理字幕、点名消息 * * @param { ISubTitle } data - 字幕、点名消息 */ onSubTitle(data: ISubTitle): void; /** * 处理会控上报开启/关闭摄像头事件 * * @param { Object } data - 远端数据 */ handleEPMessage(data: IEPMessage): void; /** * 处理等候室状态 * * @param { IWaitingState } data */ handleWaitingState(data: IWaitingState): void; /** * 会议重连后,重新处理缓存的会控消息 */ resendMeetingControlMessage(): Promise; /** * 处理会控消息,如音频、主会场、content等 * * @param { IMeetingControl } data 会控消息 */ onMeetingControlMessage(data: IMeetingControl): Promise; /** * 处理本地录制结果上报Message * * 会议开始 state=RECORD_STATE_IDLE * 开启录制 state=RECORD_STATE_STARTING * 开启成功 state=RECORD_STATE_STARTED * 开启失败 state=RECORD_STATE_IDLE * * 停止录制 state=RECORD_STATE_STOPING * 停止成功 state=RECORD_STATE_IDLE, * 停止失败 state=RECORD_STATE_STARTED * * 如果信令网关和信令服务网络不通,先报一个RECORD_STATE_STOPING,过一会发现录制没停止成功,会再报一个RECORD_STATE_STARTED * * @param { IRecordingStateChanged } data - 录制状态 */ onRecordingStateChangedMessage(data: IRecordingStateChanged): void; /** * 处理远端录制状态上报 * * @param { IRecordStatusNotification } data - 录制状态 */ onRecordStatusNotificationMessage(data: IRecordStatusNotification): void; /** * 上报远端录制状态 */ emitRecordStatusNotification(): void; /** * 停止云端录制 * * 调用时机: 用户手动调用 */ stopCloudRecord(): IReturnResult | Promise; /** * 停止云端录制 * * 调用时机: 重呼时,上报给用户停止云端录制 */ stopCloudRecordAndReport(): void; }