import { UserVolume } from '../live/UserVolume'; import { RTCJoinedInfo } from './joinedInfo'; /** * RTC 异步事件类型 * * 定义了 RTC 实例可以触发的所有事件类型 */ export type RTCEventType = { /** * RTC 错误或异常事件 * * @param error 错误对象或加入房间信息 * @example * ```typescript * rtc.on('error', (error) => { * console.error('RTC 错误:', error) * }) * ``` */ "error"(error: Error | RTCJoinedInfo): void; /** * 即将加入房间事件 * * 在开始加入房间流程时触发。 * * @example * ```typescript * rtc.on('joinWillStart', () => { * console.log('开始加入房间...') * }) * ``` */ "joinWillStart"(): void; /** * 成功加入语音房间事件 * * 当成功加入语音房间时触发。 * * @example * ```typescript * rtc.on('joined', () => { * console.log('已成功加入语音房间') * }) * ``` */ "joined"(): void; /** * 弱网络提醒事件 * * 当检测到网络质量较差时触发。 * * @example * ```typescript * rtc.on('weakNetwork', () => { * console.warn('网络质量较差,可能影响语音通话') * }) * ``` */ "weakNetwork"(): void; /** * 用户音量事件 * * 当收到用户音量信息时触发,用于显示用户说话状态。 * * @param userVolumes 用户音量数组,包含每个用户的音量信息 * @example * ```typescript * rtc.on('userVolumes', (volumes) => { * volumes.forEach(volume => { * console.log(`用户 ${volume.userId} 音量: ${volume.volume}`) * }) * }) * ``` */ "userVolumes"(userVolumes: UserVolume[]): void; /** * rtc 成功 * @private 内置事件,行为会随版本变更,请勿通过外部注册监听 */ "inner.rtc.success"(result: RTCJoinedInfo | boolean): void; /** * rtc 失败 * @private 内置事件,行为会随版本变更,请勿通过外部注册监听 */ "inner.rtc.fail"(result: RTCJoinedInfo | boolean): void; /** * rtc 错误 * @private 内置事件,行为会随版本变更,请勿通过外部注册监听 */ "inner.rtc.error"(error: Error): void; };