@rongcloud/plugin-wechat-rtc
Version:
@rongcloud/plugin-wechat-rtc
88 lines • 3.17 kB
TypeScript
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