@tencentcloud/roomkit-web-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
45 lines (43 loc) • 1.66 kB
TypeScript
import { IRoomService } from '../types';
import { StreamInfo, UserInfo } from '../../stores/room';
import { Comparator } from '../../utils/utils';
interface IUserManager {
setSelfInfo(options: SelfInfoOptions): Promise<void>;
setCustomInfoForUser(options: CustomInfoForUser): Promise<void>;
}
export type CustomInfoForUser = {
userId: string;
customInfo: Record<string, string>;
};
export type SelfInfoOptions = {
userName?: string;
avatarUrl?: string;
customInfo?: Record<string, any>;
};
export declare class UserManager implements IUserManager {
private service;
private userListCompareFunction;
private streamListCompareFunction;
constructor(service: IRoomService);
setSelfInfo(options: SelfInfoOptions): Promise<void>;
setCustomInfoForUser(options: CustomInfoForUser): Promise<any>;
getDisplayName(options: UserInfo): string;
setLocalUser(userInfo: {
userId: string;
}): void;
setUserListSortComparator(comparator: Comparator<UserInfo>): void;
getUserListSortComparator(): (userInfoA: UserInfo, userInfoB: UserInfo) => number;
setStreamListSortComparator(comparator: Comparator<StreamInfo>): void;
getStreamListSortComparator(): (streamInfoA: StreamInfo, streamInfoB: StreamInfo) => number;
private onRemoteUserEnterRoom;
private onRemoteUserLeaveRoom;
private onSeatListChanged;
private onUserAudioStateChanged;
private onUserVideoStateChanged;
private handleUserVoiceVolume;
private handleUserVoiceVolumeThrottle;
private onUserVoiceVolumeChanged;
private bindRoomEngineEvents;
private unbindRoomEngineEvents;
}
export {};