agora-meeting-sdk
Version:
For publishing npm package agora-metting-sdk (Web). Get more information from https://docs.agora.io
99 lines (98 loc) • 4.41 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import { AgoraEduApi, BatchStreamAttribute, CauseType, EduStreamAttribute } from '../core/services/edu-api';
import { DeleteStreamType, EduCourseState, EduRenderConfig, EduStream, EduStreamData, EduUser, StreamType } from '../interfaces';
import { EduClassroomDataController } from '../room/edu-classroom-data-controller';
import { EduClassroomManager } from '../room/edu-classroom-manager';
export interface EduModelViewOption {
dom: HTMLElement;
stream: EduStream;
config?: EduRenderConfig;
}
export declare enum PeerInviteEnum {
studentApply = 1,
teacherReject = 2,
studentCancel = 3,
teacherAccept = 4,
teacherStop = 5,
studentStop = 6
}
export interface IEduUserService {
publishStream(stream: EduStream): Promise<any>;
unpublishStream(stream: EduStream): Promise<any>;
sendRoomMessage(message: string): Promise<any>;
sendUserMessage(message: string, remoteUser: EduUser): Promise<any>;
sendRoomChatMessage(message: string, remoteUser: EduUser): Promise<any>;
sendUserChatMessage(message: string, remoteUser: EduUser): Promise<any>;
}
export declare class EduUserService extends EventEmitter implements IEduUserService {
roomManager: EduClassroomManager;
constructor(roomManager: EduClassroomManager);
get roomUuid(): string;
get apiService(): AgoraEduApi;
get localUser(): EduUser;
get localUserUuid(): string;
get localStream(): EduStreamData;
get screenStream(): EduStreamData;
get data(): EduClassroomDataController;
publishStream(stream: EduStream): Promise<{
streamUuid: any;
rtcToken: any;
}>;
unpublishStream(stream: Pick<EduStream, 'streamUuid'>): Promise<void>;
sendRoomMessage(message: string): Promise<void>;
sendUserMessage(message: string, remoteUser: EduUser): Promise<void>;
sendRoomChatMessage(message: string): Promise<any>;
sendUserChatMessage(message: string, remoteUser: EduUser): Promise<any>;
updateRoomProperties2(properties: any, cause?: CauseType): Promise<void>;
updateRoomProperties(record: Record<string, any>): Promise<void>;
updateRoomBatchProperties(record: Record<string, any>): Promise<void>;
updateCourseState(courseState: EduCourseState): Promise<void>;
kickUser(userUuid: string): Promise<void>;
allowStudentChatByRole(enable: boolean, roles: string[]): Promise<void>;
allowRemoteStudentChat(enable: boolean, user: EduUser): Promise<void>;
startShareScreen(): Promise<void>;
stopShareScreen(): Promise<void>;
remoteStartStudentCamera(stream: EduStream): Promise<void>;
remoteStopStudentCamera(stream: EduStream): Promise<void>;
remoteStartStudentMicrophone(stream: EduStream): Promise<void>;
remoteStopStudentMicrophone(stream: EduStream): Promise<void>;
batchUpsertStream(streams: Array<StreamType>): Promise<void>;
batchDeleteStream(streams: Array<DeleteStreamType>): Promise<void>;
remoteCloseStudentStream(stream: EduStream): Promise<void>;
updateMainStreamState(args: Record<string, boolean>): Promise<void>;
muteStudentChatByRoles(roles: string[]): Promise<void>;
unmuteStudentChatByRoles(roles: string[]): Promise<void>;
sendCoVideoApply(teacher: EduUser): Promise<void>;
acceptCoVideoApply(student: EduUser): Promise<void>;
rejectCoVideoApply(student: EduUser): Promise<void>;
inviteStreamBy(args: any): Promise<void>;
studentCancelApply(teacher: EduUser): Promise<void>;
studentCloseStream(me: EduUser): Promise<void>;
teacherCloseStream(student: EduUser): Promise<void>;
/**
* 批量更新流属性
* @param streams
*/
batchUpdateStreamAttributes(streams: EduStreamAttribute[], cause?: CauseType): Promise<void>;
/**
* 批量移除流属性
* @param streams
*/
batchRemoveStreamAttributes(streams: BatchStreamAttribute[], cause?: CauseType): Promise<void>;
/**
* 批量移除用户属性
* @param userUuid
* @param properties
*/
batchRemoveUserAttributes(userUuid: string, cause?: CauseType): Promise<void>;
/**
* 批量更新房间属性
* @param properties
*/
batchUpdateRoomAttributes(properties: any, cause?: CauseType): Promise<void>;
/**
* 移除房间属性
*/
batchRemoveRoomAttributes(cause?: CauseType): Promise<void>;
}