UNPKG

@rongcloud/plugin-wechat-rtc

Version:

@rongcloud/plugin-wechat-rtc

88 lines 3.17 kB
import { RCMediaType } from './enums/RCMediaType'; import { IPublishedResource, ISubParams, RoomData } from './interfaces'; import { IReadableStore } from './IReadableStore'; import { RCRemoteStream } from './RCRemoteStream'; export default class Store extends IReadableStore { /** * 设置房间内的所有资源 * @param resource 房间内所有资源数据 */ setRoomResource(resource: RoomData): void; assignRoomData(data: RoomData): void; /** * 主动发布、取消发布、改变资源状态, * 或收到有人员加入时(房间内人员数据依赖 _roomResource 的key 值) * 设置这个人对应的资源数据 * @param userId 用户 Id * @param resource 用户资源数据 */ setResourcesByUserId(userId: string, resource: IPublishedResource[]): void; /** * 收到某个人退出房间,需删除房间内这个人的资源数据 * @param userId 用户 Id */ deleteResourceByUserId(userId: string): void; /** * 收到某个人的某条资源被取消发布或状态被变更时,更新他的某条资源数据 * @param userId 用户 Id * @param index 用户资源的索引 * @param resource 为 null 时,代表删除 */ updateResourceByUserId(userId: string, index: number, resource: IPublishedResource | null): void; /** * 发布、取消发布后设置发布参数 * @param tag 为空时代表被取消发布 * @param mediaType 资源类型 */ setPublishParams(tag?: string, mediaType?: RCMediaType): void; /** * 订阅完成后,设置已订阅参数 * @param subParams 已订阅参数 */ setSubscribeParams(subParams: ISubParams[]): void; addSubscribeParams(subParams: ISubParams[]): void; /** * 取消订阅后,删除取消订阅的参数 * @param unsubStreams 取消订阅的参数 */ deleteSubscribeParams(unsubStreams: RCRemoteStream[]): void; /** * 订阅资源,更新 stream 的 rtmpUrl 之后 * 或收到远端发布资源时,设置远端 stream * @param msId stream Id * @param stream */ setRemoteStream(msId: string, stream: RCRemoteStream): void; /** * 收到远端取消发布资源时,更新远端 stream * @param streams stream 列表 */ deleteRemoteStreams(streams: RCRemoteStream[]): void; /** * 收到有人离开房间时,删除这个人对应的远端 stream * @param userId 用户 Id */ deleteRemoteStreamByUserId(userId: string): void; /** * 设置房间 token */ setCrtRoomToken(roomToken: string): void; /** * 设置当前会话 id */ setCrtSessionId(sessionId: string): void; /** * 设置当前房间是否发布过视频 */ setIsPubVideo(isPubVideo: boolean): void; /** * 设置当前房间是否发布过音频 */ setIsPubAudio(isPubAudio: boolean): void; /** * 设置当前房间发布的资源类型 */ setPubMediaType(mediaType: RCMediaType): void; setRoomStatusVersion(version: number): void; } //# sourceMappingURL=store.d.ts.map