Skip to content

ClassroomEvents ​

Properties ​

adjustHeartbeat ​

adjustHeartbeat: (data) => void

请求调整心跳间隔(MemberModule → RoomModule)

Parameters ​

data ​
intervalMs ​

number

Returns ​

void


afterLeave ​

afterLeave: () => void

Returns ​

void


aiClassReady ​

aiClassReady: (data) => void

Parameters ​

data ​
taskId ​

string

Returns ​

void


appResized ​

appResized: (data) => void

Parameters ​

data ​
height ​

number

width ​

number

Returns ​

void


askStageAccepted ​

askStageAccepted: () => void

Returns ​

void


askStageCancelled ​

askStageCancelled: () => void

老师取消/清空举手邀请列表,自己不再在邀请列表中时触发

Returns ​

void


askStageRejected ​

askStageRejected: () => void

Returns ​

void


askStageRequest ​

askStageRequest: (data) => void

Parameters ​

data ​
userId ​

string

userName ​

string

Returns ​

void


askStageUpdate ​

askStageUpdate: (data) => void

举手邀请列表更新(v1/stage 信令驱动,cmds 解析后广播)

Parameters ​

data ​
list ​

object[]

Returns ​

void


autoplayConfirm ​

autoplayConfirm: (data) => void

用户已点击允许播放,所有被阻播放器已恢复。

Parameters ​

data ​

Record<string, never>

Returns ​

void


autoplayFailed ​

autoplayFailed: (data) => void

浏览器自动播放策略阻止(TCPlayer blocked 事件触发)。 业务层收到后展示"点击播放"提示,调用 resume() 恢复播放。

Parameters ​

data ​
isSub ​

boolean

resume ​

() => void

userId ​

string

Returns ​

void


avAdd ​

avAdd: (data) => void

Parameters ​

data ​
permissions ​

MemberInfo

userId ​

string

Returns ​

void


avRemove ​

avRemove: (data) => void

Parameters ​

data ​
userId ​

string

Returns ​

void


avUpdate ​

avUpdate: (data) => void

Parameters ​

data ​
changes ​

string[]

permissions ​

MemberInfo

userId ​

string

Returns ​

void


backPressed ​

backPressed: () => void

Returns ​

void


beforeLeave ​

beforeLeave: () => void

Returns ​

void


boardAddTranscodeFile ​

boardAddTranscodeFile: (fileId) => void

白板转码文件添加(TEB_ADDTRANSCODEFILE)

Parameters ​

fileId ​

string

Returns ​

void


boardAudioStatusChanged ​

boardAudioStatusChanged: (data) => void

白板音频状态变更(TEB_AUDIO_STATUS_CHANGED)

Parameters ​

data ​

any

Returns ​

void


boardError ​

boardError: (payload) => void

白板错误(重试耗尽后的最终错误,code=1/3/8/默认等)

Parameters ​

payload ​
code ​

number

detail? ​

string

message ​

string

Returns ​

void


boardH5FileStatusChanged ​

boardH5FileStatusChanged: (data) => void

H5 文件状态变更(TEB_H5FILE_STATUS_CHANGED)

Parameters ​

data ​

any

Returns ​

void


boardH5PptStatusChanged ​

boardH5PptStatusChanged: (status, data) => void

H5 PPT 状态变更(TEB_H5PPT_STATUS_CHANGED)

Parameters ​

status ​

number

data ​

any

Returns ​

void


boardImageStatusChanged ​

boardImageStatusChanged: (status, data) => void

白板图片状态变更(TEB_IMAGE_STATUS_CHANGED)

Parameters ​

status ​

number

data ​

any

Returns ​

void


boardInit ​

boardInit: () => void

白板实例初始化完成(TEB_INIT)

Returns ​

void


boardMediaStatusChanged ​

boardMediaStatusChanged: (fileId, mediaId, status, currentTime) => void

白板媒体状态变更(TEB_H5PPT_MEDIA_STATUS_CHANGED)

Parameters ​

fileId ​

string

mediaId ​

string

status ​

number

currentTime ​

number

Returns ​

void


boardReady ​

boardReady: () => void

Returns ​

void


boardSigError ​

boardSigError: (payload) => void

白板签名错误(code=7 签名过期 / code=11 签名无效,需重新进房)

Parameters ​

payload ​
code ​

number

detail? ​

string

message ​

string

Returns ​

void


boardVideoStatusChanged ​

boardVideoStatusChanged: (data) => void

白板视频状态变更(TEB_VIDEO_STATUS_CHANGED)

Parameters ​

data ​

any

Returns ​

void


boardWarn ​

boardWarn: (payload) => void

白板非致命警告(code=10 页数达到上限等)

Parameters ​

payload ​
code ​

number

message ​

string

Returns ​

void


burstHeartbeat ​

burstHeartbeat: () => void

突发心跳(PermissionModule self-offline → RoomModule,对齐老项目 burst 100ms → 10s)

Returns ​

void


classEnd ​

classEnd: (data) => void

Parameters ​

data ​

Record<string, unknown>

Returns ​

void


classInfoChangeRequested ​

classInfoChangeRequested: (data) => void

Parameters ​

data ​

Record<string, unknown> | null

Returns ​

void


classInfoModified ​

classInfoModified: (info) => void

Parameters ​

info ​

Partial<ClassInfo>

Returns ​

void


classInfoUpdated ​

classInfoUpdated: (classInfo) => void

Parameters ​

classInfo ​

ClassInfo

Returns ​

void


classStart ​

classStart: (data) => void

Parameters ​

data ​

Record<string, unknown>

Returns ​

void


classTaskChange ​

classTaskChange: (data) => void

Parameters ​

data ​
tasks ​

Record<string, unknown>[]

Returns ​

void


confirmAction ​

confirmAction: (data) => void

需要用户确认的操作(MemberModule → UI 层)

Parameters ​

data ​
action ​

number

onConfirm ​

() => void

onReject ​

() => void

userId ​

string

Returns ​

void


deviceChange ​

deviceChange: (data) => void

Parameters ​

data ​
deviceId ​

string

kind ​

string

Returns ​

void


docListUpdated ​

docListUpdated: (data) => void

Parameters ​

data ​
documents ​

unknown[]

Returns ​

void


docLoadCourseware ​

docLoadCourseware: (data) => void

Parameters ​

data ​
docInfo ​

{ docId: string; docName: string; docType: string; docUrl: string; forbid?: boolean; height: number; pages: number; transcodeResult: string; transcodeState: number; transcodeType: number; type?: string; width: number; }

docInfo.docId ​

string

docInfo.docName ​

string

docInfo.docType ​

string

docInfo.docUrl ​

string

docInfo.forbid? ​

boolean

docInfo.height ​

number

docInfo.pages ​

number

docInfo.transcodeResult ​

string

docInfo.transcodeState ​

number

docInfo.transcodeType ​

number

docInfo.type? ​

string

docInfo.width ​

number

refresh? ​

boolean

title? ​

string

transcodeUrl? ​

string

type ​

string

url? ​

string

Returns ​

void


docPlayAudio ​

docPlayAudio: (data) => void

Parameters ​

data ​
id ​

string

name ​

string

path ​

string

Returns ​

void


docTranscodeProgress ​

docTranscodeProgress: (data) => void

Parameters ​

data ​
docId ​

string

progress ​

number

state ​

number

Returns ​

void


docUploadProgress ​

docUploadProgress: (data) => void

Parameters ​

data ​
docId ​

string

fileName ​

string

filePercent ​

number

status ​

number

trackInfo ​

unknown

transcodeProgress ​

number

transcodeState ​

number

Returns ​

void


enableStageChanged ​

enableStageChanged: (data) => void

enable_stage 信令变化(对齐老项目 onEnableStageChanged 回调)

Parameters ​

data ​
enabled ​

boolean

Returns ​

void


error ​

error: (error) => void

Parameters ​

error ​

TErrorPayload

Returns ​

void


handUp ​

handUp: (data) => void

Parameters ​

data ​
status ​

boolean

userId ​

string

Returns ​

void


heartbeatPermissionSeq ​

heartbeatPermissionSeq: (data) => void

心跳驱动的权限序列号同步(RoomModule → PermissionModule,触发权限列表刷新)

Parameters ​

data ​
seq ​

number

Returns ​

void


heartbeatTaskSeq ​

heartbeatTaskSeq: (data) => void

心跳驱动的任务序列号同步(RoomModule → ClassModule,触发任务列表刷新)

Parameters ​

data ​
seq ​

number

Returns ​

void


imC2CAdminMsg ​

imC2CAdminMsg: (data) => void

C2C saasadmin 消息(后端下发的控制指令)

Parameters ​

data ​
content ​

string

from ​

string

Returns ​

void


imCmdMessage ​

imCmdMessage: (data) => void

信令群指令消息(来自 cmdGroup,gzip 解压后)

Parameters ​

data ​
action ​

string

data ​

unknown

Returns ​

void


imConnected ​

imConnected: () => void

Returns ​

void


imDisconnected ​

imDisconnected: () => void

Returns ​

void


imKicked ​

imKicked: () => void

Returns ​

void


imSigExpired ​

imSigExpired: () => void

Returns ​

void


joinClass ​

joinClass: (classInfo) => void

Parameters ​

classInfo ​

ClassInfo

Returns ​

void


joinProgressChanged ​

joinProgressChanged: (data) => void

进房进度变化(joinClass 流程中每个阶段切换时触发)。 可配合 JoinProgress 枚举展示进度条或进度文案。

Parameters ​

data ​
progress ​

JoinProgress

Returns ​

void

Example ​

ts
classroom.on(TEvent.JOIN_PROGRESS_CHANGED, ({ progress }) => {
  if (progress === JoinProgress.Completed) showSuccessUI();
  if (progress === JoinProgress.Failed) showErrorUI();
});

kickOut ​

kickOut: (data) => void

Parameters ​

data ​
message ​

string

needsTokenRefresh ​

boolean

reason ​

KickOutReason

Returns ​

void


kickoutCmd ​

kickoutCmd: (data) => void

kickOut 信令指令(CommandModule → KickOutHandler,内部事件)

Parameters ​

data ​
objectId ​

string

signalUserId ​

string

timestamp ​

number

Returns ​

void


kickoutForeverCmd ​

kickoutForeverCmd: (data) => void

kickOutForever 信令指令(CommandModule → KickOutHandler,内部事件)

Parameters ​

data ​
objectId ​

string

Returns ​

void


languageChanged ​

languageChanged: (data) => void

Parameters ​

data ​
locale ​

string

previousLocale ​

string

Returns ​

void


leaveClass ​

leaveClass: () => void

Returns ​

void


liveVolumeUpdate ​

liveVolumeUpdate: (data) => void

快直播音量回调(对齐老项目 TLiveEvent.Volume_Update)。 由 WebLiveAdapter.enableVolumeEvaluation 驱动。

Parameters ​

data ​
streamId ​

string

volume ​

number

Returns ​

void


loadResourceError ​

loadResourceError: (data) => void

Parameters ​

data ​
error ​

Error

resource ​

string

Returns ​

void


localAudioStats ​

localAudioStats: (stats) => void

Parameters ​

stats ​

Record<string, unknown>

Returns ​

void


localVideoStats ​

localVideoStats: (stats) => void

Parameters ​

stats ​

Record<string, unknown>

Returns ​

void


marqueeUpdate ​

marqueeUpdate: (config) => void

跑马灯配置变更(WatermarkModule.setMarqueeConfig 触发)

Parameters ​

config ​

MarqueeConfig

Returns ​

void


memberDeviceChange ​

memberDeviceChange: (data) => void

成员设备状态变更(change_member_stream 信令驱动,通知 MediaRenderer 刷新)

Parameters ​

data ​
userId ​

string

Returns ​

void


memberJoin ​

memberJoin: (member) => void

Parameters ​

member ​

MemberInfo

Returns ​

void


memberLeave ​

memberLeave: (member) => void

Parameters ​

member ​

MemberInfo

Returns ​

void


memberStageDown ​

memberStageDown: (member) => void

Parameters ​

member ​

MemberInfo

Returns ​

void


memberStageUp ​

memberStageUp: (member) => void

Parameters ​

member ​

MemberInfo

Returns ​

void


messageRevoked ​

messageRevoked: (data) => void

Parameters ​

data ​
from ​

string

msgId ​

string

seq? ​

number

Returns ​

void


musicPause ​

musicPause: () => void

Returns ​

void


musicResume ​

musicResume: () => void

Returns ​

void


musicSeek ​

musicSeek: (data) => void

Parameters ​

data ​
time ​

number

Returns ​

void


musicStart ​

musicStart: (params) => void

Parameters ​

params ​
url ​

string

Returns ​

void


musicStop ​

musicStop: () => void

Returns ​

void


muteAllChanged ​

muteAllChanged: (data) => void

全员静音变化(ClassModule → RtcModule) 当 muteAll$ 从 false→true 时触发,RtcModule 需关闭本地麦克风。 对齐老项目 tmain.ts 中 muteAll 变化时自动 stopMicrophone 的逻辑。

Parameters ​

data ​
muteAll ​

boolean

Returns ​

void


muteVideoAllChanged ​

muteVideoAllChanged: (data) => void

全员禁视频变化(ClassModule → RtcModule) 当 muteVideoAll$ 从 false→true 时触发,RtcModule 需关闭本地摄像头。 对齐老项目 tmain.ts 中 muteVideoAll 变化时自动 stopCamera 的逻辑。

Parameters ​

data ​
muteVideoAll ​

boolean

Returns ​

void


myPermissionChange ​

myPermissionChange: (data) => void

Parameters ​

data ​
permission ​

MemberInfo

Returns ​

void


networkBroken ​

networkBroken: () => void

Returns ​

void


networkRecovered ​

networkRecovered: () => void

Returns ​

void


networkSpeedTestResult ​

networkSpeedTestResult: (data) => void

TRTC 测速结果(StatisticsModule.checkMediaServerConnection 触发)

Parameters ​

data ​
latency ​

number

lost ​

number

Returns ​

void


networkWeak ​

networkWeak: () => void

Returns ​

void


orientationChange ​

orientationChange: (data) => void

Parameters ​

data ​
orientation ​

"portrait" | "landscape"

Returns ​

void


permissionRevoked ​

permissionRevoked: (data) => void

权限被撤回(PermissionModule → RtcModule) 当自己的 mic/camera/screen 权限被撤回时触发,由 RtcModule 执行设备停止操作。 对齐老项目 tmain.ts _updateMyPermission 中 revoke 逻辑。 注意:stage 变化不通过此事件,由 RtcModule 直接订阅 stageStatus$ Signal 驱动。

Parameters ​

data ​
type ​

"board" | "screen" | "mic" | "camera"

Returns ​

void


permissionSync ​

permissionSync: (data) => void

权限列表同步(CommandModule → PermissionModule,内部事件)

Parameters ​

data ​
members ​

Record<string, unknown>[]

seq ​

number

Returns ​

void


permissionUpdate ​

permissionUpdate: (data) => void

权限列表批量更新。

  • permissions: 全量权限列表(向后兼容字段)
  • changedUserIds: 本次发生权限变化的 userId 列表(含新加入、字段变更、归零的用户)。 消费者(如 MediaRenderer)应优先用此列表做定点刷新,避免遍历全量。

Parameters ​

data ​
changedUserIds? ​

string[]

permissions ​

MemberInfo[]

Returns ​

void


questionAbandon ​

questionAbandon: (data) => void

Parameters ​

data ​
questionId ​

string

Returns ​

void


questionAnswered ​

questionAnswered: (data) => void

有人回答了问题(C2C type=1,老师侧)

Parameters ​

data ​
questionId ​

string

Returns ​

void


questionBegin ​

questionBegin: (data) => void

Parameters ​

data ​
correctAnswer? ​

string

duration? ​

number

optionNumber? ​

number

questionContent? ​

string

questionId ​

string

questionName? ​

string

startTime? ​

number

state? ​

number

ttl? ​

number

type? ​

number

Returns ​

void


questionClose ​

questionClose: (data) => void

Parameters ​

data ​
questionId ​

string

Returns ​

void


questionEnd ​

questionEnd: (data) => void

Parameters ​

data ​
questionId ​

string

Returns ​

void


recvCustomImMsg ​

recvCustomImMsg: (msg) => void

Parameters ​

msg ​

Message

Returns ​

void


recvCustomMsg ​

recvCustomMsg: (msg) => void

Parameters ​

msg ​
data ​

string

ext ​

string

from ​

string

Returns ​

void


recvMemberAction ​

recvMemberAction: (data) => void

老师执行成员操作(C2C type=0,来自 saasadmin)

Parameters ​

data ​
action ​

string

operatorId? ​

string

Returns ​

void


recvMessage ​

recvMessage: (msg) => void

Parameters ​

msg ​

Message

Returns ​

void


remoteAudioStats ​

remoteAudioStats: (stats) => void

Parameters ​

stats ​

Record<string, unknown>

Returns ​

void


remoteScreenShareStarted ​

remoteScreenShareStarted: (data) => void

Parameters ​

data ​
userId ​

string

Returns ​

void


remoteScreenShareStopped ​

remoteScreenShareStopped: (data) => void

Parameters ​

data ​
userId ​

string

Returns ​

void


remoteVideoStats ​

remoteVideoStats: (stats) => void

Parameters ​

stats ​

Record<string, unknown>

Returns ​

void


restoreHeartbeat ​

restoreHeartbeat: () => void

请求恢复心跳间隔(MemberModule → RoomModule)

Returns ​

void


rtcCustomMsg ​

rtcCustomMsg: (data) => void

TRTC 自定义消息(RtcModule → SubtitleModule,内部事件)

Parameters ​

data ​
cmdId ​

number

message ​

Uint8Array

seq ​

number

userId ​

string

Returns ​

void


schoolInfoReady ​

schoolInfoReady: (data) => void

Parameters ​

data ​
schoolInfo ​

SchoolInfo

watermark? ​

WatermarkConfig

Returns ​

void


screenShareStarted ​

screenShareStarted: () => void

Returns ​

void


screenShareStopped ​

screenShareStopped: () => void

Returns ​

void


selfOffline ​

selfOffline: (data) => void

Parameters ​

data ​
source ​

string

Returns ​

void


selfOnline ​

selfOnline: (data?) => void

Parameters ​

data? ​
source? ​

string

Returns ​

void


setMusicVolume ​

setMusicVolume: (data) => void

设置背景音乐音量(MediaPlayModule → RtcModule,内部事件)

Parameters ​

data ​
volume ​

number

Returns ​

void


silenceUser ​

silenceUser: (data) => void

用户被禁言/解禁(MemberModule → ImModule,触发 silenceUserOnMsgList)

Parameters ​

data ​
silence ​

boolean

userId ​

string

Returns ​

void


softKeyboard ​

softKeyboard: (data) => void

Parameters ​

data ​
height ​

number

visible ​

boolean

Returns ​

void


stageLoopAction ​

stageLoopAction: (data) => void

轮播上台动作(v1/stage_loop 信令驱动)

Parameters ​

data ​
action ​

string

Returns ​

void


streamUpdate ​

streamUpdate: (data) => void

流列表更新(由 RoomModule 进房时和 CommandModule 信令 change_member_stream 触发)。 LiveModule 订阅此事件,驱动 MediaRenderer.onStreamListUpdate()。

Parameters ​

data ​
seq ​

number

streams ​

LiveStreamInfo[]

Returns ​

void


subtitleUpdate ​

subtitleUpdate: (data) => void

收到实时字幕数据(来自 TRTC 自定义消息或云端 ASR)

Parameters ​

data ​

SubtitleData

Returns ​

void


taskUpdated ​

taskUpdated: (task) => void

单个任务更新(防乱序后、已解析,对齐老项目 Task_Updated)

Parameters ​

task ​

TaskInfo

Returns ​

void


translateMsg ​

translateMsg: (data) => void

翻译消息结构化回调(v1/translate 信令驱动,携带原文与译文)

Parameters ​

data ​

TranslateMsgPayload

Returns ​

void


tryReloadResource ​

tryReloadResource: (data) => void

Parameters ​

data ​
resource ​

string

Returns ​

void


userAudioAvailable ​

userAudioAvailable: (data) => void

Parameters ​

data ​
available ​

boolean

userId ​

string

Returns ​

void


userAudioMute ​

userAudioMute: (data) => void

Parameters ​

data ​
mute ​

boolean

userId ​

string

Returns ​

void


userEnterRoom ​

userEnterRoom: (data) => void

Parameters ​

data ​
userId ​

string

Returns ​

void


userLeaveRoom ​

userLeaveRoom: (data) => void

Parameters ​

data ​
userId ​

string

Returns ​

void


userSubStreamAvailable ​

userSubStreamAvailable: (data) => void

Parameters ​

data ​
available ​

boolean

userId ​

string

Returns ​

void


userVideoAvailable ​

userVideoAvailable: (data) => void

Parameters ​

data ​
available ​

boolean

userId ​

string

Returns ​

void


versionUpdate ​

versionUpdate: (data) => void

Parameters ​

data ​
currentVersion ​

string

latestVersion ​

string

Returns ​

void


vodEnd ​

vodEnd: () => void

Returns ​

void


vodPause ​

vodPause: () => void

Returns ​

void


vodResume ​

vodResume: () => void

Returns ​

void


vodSeek ​

vodSeek: (data) => void

Parameters ​

data ​
time ​

number

Returns ​

void


vodStart ​

vodStart: (params) => void

Parameters ​

params ​
url ​

string

Returns ​

void


vodStop ​

vodStop: () => void

Returns ​

void


warn ​

warn: (warn) => void

Parameters ​

warn ​

TWarnPayload

Returns ​

void


watermarkUpdate ​

watermarkUpdate: (config) => void

水印配置变更(WatermarkModule.setWatermarkConfig 触发)

Parameters ​

config ​

WatermarkConfig

Returns ​

void