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

Parameters

data
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