@rongcloud/plugin-wechat-rtc
Version:
@rongcloud/plugin-wechat-rtc
81 lines • 2.88 kB
TypeScript
import { ILogger, IRTCUsers } from '@rongcloud/engine';
import { IPublishedResource, IResource, RoomData } from './core/interfaces';
import { RCMediaType } from './core/enums/RCMediaType';
import { RCRTCMessageType } from './core/enums/RCRTCMessageType';
import Store from './core/store';
import { RCRemoteStream } from './core/RCRemoteStream';
import { RCCoreContext } from './core/RCCoreContext';
/**
* 解析房间数据
*/
export declare const parseRoomData: (data: IRTCUsers, logger: ILogger) => RoomData;
export declare const getUUID: () => string;
/**
* 验证 tag 是否有效
* @param tag
* @returns
*/
export declare const isValidTag: (tag: string) => boolean;
/**
* 验证媒体类型有效性
*/
export declare const isValidMediaType: (mediaType: RCMediaType) => boolean;
export declare const getResourceId: (resource: IResource) => string;
/**
* 解析 resourceId 以获取资源信息
* @param resourceId
*/
export declare const parseResourceId: (resourceId: string) => {
mediaType: RCMediaType;
tag: string;
userId: string;
};
/**
* 比对资源找出新增、状态变更及取消发布的资源
* @param prevResources 原资源数据
* @param resources 变更的全量资源
*/
export declare const diffPublishResources: (prevResources: IPublishedResource[], resources: IPublishedResource[], isReconnect?: boolean) => {
publishedList: IPublishedResource[];
unpublishedList: IPublishedResource[];
modifiedList: IPublishedResource[];
};
/**
* 构建增量消息内容
* @param objectname 消息名
* @param uris 增量变更资源
*/
export declare const buildPlusMessage: (messageName: RCRTCMessageType, uris: IPublishedResource[]) => {
name: RCRTCMessageType;
content: string;
};
/**
* 构建预发布的全量资源变更消息
* @param uris 全量资源数据
*/
export declare const buildTotalURIMessageContent: (uris: IPublishedResource[]) => string;
/**
* 是否重复发布
* @param newPub
* @param allPublishList
* @returns
*/
export declare const isRepeatPub: (newPub: IPublishedResource, allPublishList: IPublishedResource[]) => {
isInclude: boolean;
index: number;
};
export declare const deepCopyResources: <T>(resources: T[]) => T[];
export declare const getRtmpUriFromRtmpSubList: (msId: string, rtmpSubscribeList: IResource[]) => string;
/**
* 把一组 resource 数据转化为 stream 列表
* @param resourceList
* @param store
* @returns 返回 RCRemoteStream 列表
*/
export declare const transCancelResourcesToStreams: (cancelResourceList: IPublishedResource[], store: Store) => {
unpubStreams: RCRemoteStream[];
restStreams: RCRemoteStream[];
};
export declare const int64ToTimestamp: (obj: any) => number;
export declare const operateDevice: (mediaType: RCMediaType, enable: boolean, coreContext: RCCoreContext) => void;
//# sourceMappingURL=helper.d.ts.map