import { default as XYRTCClient } from '../client'; import { XYSpeaker } from '../../feature/index'; import { ICustomMessageConfig, ICustomStreamTrack, IReturnResult, IRoster, IRotationInfoTotalItem, ISpeakerInfo, Key, SpeakersInfoItem, XYBaseModule, XYWebRxAudioStatus } from '../../type/index'; import { XYLayoutRosters } from './index.type'; export declare class XYMediaManager implements XYBaseModule { private client; private logger; rosters: IRoster[]; activeSpeaker: ISpeakerInfo; private videoTrackList; private audioTrackList; private contentOnholdInfo; private contentSenderPid; speaker: XYSpeaker | null; layoutRosters: XYLayoutRosters; private rotationInfo; private customMessage; private audioTrackLength; private videoTrackLength; private webRxAudioStatus; constructor(client: XYRTCClient); getContentSenderPid(): number; getSpeakerManager(): XYSpeaker | null; getLayoutRosters(): XYLayoutRosters; getVideoTrackList(): ICustomStreamTrack[]; getOriginRosters(): IRoster[]; getActiveSpeaker(): ISpeakerInfo; getRotationInfo(): IRotationInfoTotalItem[]; getAudioTrackList(): ICustomStreamTrack[]; destroy(): void; /** * 重置状态 */ resetTrackList(): void; /** * 监听Peer模块上Track轨道数据 */ handleTrackEvent(e: RTCTrackEvent): void; /** * 获取当前语音激励的Roster */ getActiveSpeakerRoster(): IRoster | null; /** * 合并Track轨道数据 * * @param { RTCTrackEvent } e - Track事件 */ mergeTrackList(e: RTCTrackEvent): void; /** * content onhold时,处理content audio * * @private * @param { ITrackInfo } rest */ private handleContentOnholdAudio; /** * 处理Roster列表消息 * * @param { object } data - 媒体下发的Roster消息数据 */ handleRosterMessage(data: any): void; /** * 对媒体下发的roster信息进行排序,推送数据 */ sendOriginOrderRosterMessage(): void; /** * 处理Active Speaker消息 * * @param { ISpeakerInfo } speaker - 媒体下发的Active Speaker消息数据 */ handleSpeakersInfoMessage(speaker: ISpeakerInfo): void; /** * 处理实时讲话人消息 * * @param { SpeakersInfoItem[] } data - 媒体下发的实时讲话人消息数据 */ handleRealTimeSpeakerInfoMessage(speakerInfos: SpeakersInfoItem[]): void; /** * 处理屏幕旋转信息消息 * * @param { object } data - 媒体下发的屏幕旋转信息消息数据 */ handleRotationChangeMessage(data: any): void; /** * 处理旋转信息 */ private updateRotationInfo; /** * 处理媒体Conf Change Info消息 * * @param { object } data - 媒体下发的Conf Change Info消息数据 */ handleConfChangeInfoMessage(data: any): void; /** * 处理NewLayout模式下,Layout Result EX消息 * * @param { object } data - 媒体下发的Layout Result EX消息数据 */ handleLayoutResultExMessage(data: any): void; /** * 处理出入会消息 * * @param { object } data - 媒体下发的出入会消息数据 */ handleInoutNotifyMessage(data: any): void; /** * 处理订阅Roster消息 * * @param { object } data - 媒体下发的订阅Roster消息数据 */ handleBulkRosterMessage(data: any): void; /** * 处理Content Onhold消息 * * @param { object } data - 媒体下发的Content Onhold消息数据 */ handleConfPropertiesMessage(data: any): void; /** * 处理contentOnhold * * @param { IConfProperty } info - Content Onhold消息数据 */ private handleContentOnhold; /** * 接收多分组通道消息 * @param { object } data - 媒体下发的多分组通道消息数据 */ handleMultiGroupInfoMessage(data: any): void; /** * 接收通话字幕内容消息 * * @param { object } data - 媒体下发的通话字幕内容消息 */ handleTranslationContentMessage(data: any): void; /** * 处理媒体转发的用户自定义消息 * * @param { object } data - 媒体下发的用户自定义消息数据 */ handleUserCustomBizMessage(data: any): void; /** * 发送自定义消息 * * @param { object } config - 配置参数 * @param { number } config.toPid - 消息的接收方pid,0表示广播消息、非0表示单点消息; * @param { string } config.data - 消息内容,JSON字符串;因业务数据可能会传输图片,需要对二进制数据进行base64编码,消息长度限制最大:1030KB * @return { IReturnResult } - 返回结果 */ sendCustomMessage(config: ICustomMessageConfig): IReturnResult; /** * 设置多分组通道,通用方法 * * @param { 'start' | 'stop' } type 启用或者停止多分组通道能力 * @param { Key[] } mediagrpIds 多分组sessionId,可以配置多个或一个值 * @returns { IReturnResult } - 操作结果 */ setMonitorGroup(type: 'start' | 'stop', mediagrpIds: Key[]): IReturnResult; /** * 发送带宽配置 */ sendWebRxBandwidth(): void; /** * 通知媒体content能力 * * @param { Stream } stream 本地contentStream */ sendContentCapability(): void; /** * 通知本地采集能力,用于vom进行分配 */ sendPeopleCapability(): void; /** * 告知媒体是否开启出入会通知 */ sendConfParam(): void; /** * 通知媒体 本地是否接收远端音频 * * @param { XYWebRxAudioStatus } params - 控制是否接收会议中的远端音频 */ sendWebRxAudioStatus(params?: XYWebRxAudioStatus): void; }