@pano.video/panortc-react-native-sdk
Version:
PanoRtc SDK For React Native
1,317 lines (1,316 loc) • 40.5 kB
TypeScript
import type { RtcAudioLevel, RtcAudioRecvStats, RtcAudioSendStats, RtcNetworkQuality, RtcSystemStats, RtcVideoRecvBweStats, RtcVideoRecvStats, RtcVideoSendBweStats, RtcVideoSendStats, RtcScreenSendStats, RtcScreenRecvStats, WBPageNumber, RtcPropertyAction } from './Objects';
import type { AudioMixingState, FailoverState, ResultCode, SubscribeResult, UserLeaveReason, VideoCaptureState, VideoProfileType, QualityRating, WBImageState, WBRoleType, MessageServiceState, ScreenCaptureState } from './Enums';
/**
* @internal
* @ignore
*/
export declare type Listener = (...args: any[]) => any;
/**
* @internal
* @ignore
*/
export interface Subscription {
remove(): void;
}
export declare type EmptyCallback = () => void;
export declare type ResultCallback =
/**
* @~english
* @param result Result code.
* @~chinese
* @param result 返回结果。
*/
(result: ResultCode) => void;
export declare type UserIdCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @~chinese
* @param userId 客户定义的用户标识。
*/
(userId: string) => void;
export declare type RemainCallback =
/**
* @~english
* @param remain Channel remian time in seconds.
* @~chinese
* @param remain 频道剩余时间,单位:秒。
*/
(remain: number) => void;
export declare type UserIdWithUserNameCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param userName The user display name defined by customer.
* @~chinese
* @param userId 客户定义的用户标识。
* @param userName 客户定义的用户显示名字。
*/
(userId: string, userName: string) => void;
export declare type UserLeaveReasonCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param reason The reason for user leaving.
* @~chinese
* @param userId 客户定义的用户标识。
* @param reason 用户离开的原因。
*/
(userId: string, reason: UserLeaveReason) => void;
export declare type UserIdWithSubscribeResultCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param result The result of subscribing.
* @~chinese
* @param userId 客户定义的用户标识。
* @param result 订阅结果
*/
(userId: string, result: SubscribeResult) => void;
export declare type UserIdWithStreamIdAndSubscribeResultCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param streamId The video stream ID.
* @param result The result of subscribing.
* @~chinese
* @param userId 客户定义的用户标识。
* @param streamId 视频流标识。
* @param result 订阅结果
*/
(userId: string, streamId: number, result: SubscribeResult) => void;
export declare type UserIdWithMaxProfileCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param maxProfile The max video profile.
* @~chinese
* @param userId 客户定义的用户标识。
* @param maxProfile 最高档视频设定。
*/
(userId: string, maxProfile: VideoProfileType) => void;
export declare type UserIdWithStreamIdAndMaxProfileCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param streamId The video stream ID.
* @param maxProfile The max video profile.
* @~chinese
* @param userId 客户定义的用户标识。
* @param streamId 视频流标识。
* @param maxProfile 最高档视频设定。
*/
(userId: string, streamId: number, maxProfile: VideoProfileType) => void;
export declare type WhiteboardIdCallback =
/**
* @~english
* @param whiteboardId whiteboard Id
* @~chinese
* @param whiteboardId 白板Id
*/
(whiteboardId: string) => void;
export declare type DeviceIdWithVideoCaptureStateCallback =
/**
* @~english
* @param deviceId The device unique ID.
* @param state The capture state.
* @~chinese
* @param deviceId 设备唯一标识。
* @param state 采集状态。
*/
(deviceId: string, state: VideoCaptureState) => void;
export declare type DeviceIdWithStreamIdAndVideoCaptureStateCallback =
/**
* @~english
* @param streamId The video stream ID.
* @param deviceId The device unique ID.
* @param state The capture state.
* @~chinese
* @param streamId 视频流标识。
* @param deviceId 设备唯一标识。
* @param state 采集状态。
*/
(streamId: number, deviceId: string, state: VideoCaptureState) => void;
export declare type FailoverStateCallback =
/**
* @~english
* @param state Failover state.
* @~chinese
* @param state 故障转移状态。
*/
(state: FailoverState) => void;
export declare type UserIdListCallback =
/**
* @~english
* @param userIds The userId list.
* @~chinese
* @param userIds 用户 ID 列表。
*/
(userIds: string[]) => void;
export declare type TaskIdWithAudioMixingStateCallback =
/**
* @~english
* @param taskId unique identifier of task.
* @param state state of task.
* @~chinese
* @param taskId 任务标识
* @param state 任务状态
*/
(taskId: number, state: AudioMixingState) => void;
export declare type SnapshotCompletedWithUserIdCallback =
/**
* @~english
* @param succeed Succeed to write the image.
* @param userId The userId of snapshot source
* @param filename The snapshot image full path with name.
* @~chinese
* @param succeed 是否成功写入文件
* @param userId 快照所属的用户ID
* @param filename 快照文件名
*/
(succeed: boolean, userId: string, fileName: string) => void;
export declare type SnapshotCompletedWithUserIdAndStreamIdCallback =
/**
* @~english
* @param userId The user ID defined by customer.
* @param streamId The video stream ID.
* @param succeed Succeed to write the image.
* @param filename The snapshot image full path with name.
* @~chinese
* @param userId 客户定义的用户标识。
* @param streamId 视频流标识。
* @param succeed 是否成功写入文件。
* @param filename 快照文件名。
*/
(userId: string, streamId: number, succeed: boolean, filename: string) => void;
export declare type UserIdWithNetworkQualityRatingCallback =
/**
* @~english
* @param quality The network quality.
* @param userId The user ID.
* @~chinese
* @param quality 网络质量。
* @param userId 用户ID。
*/
(userId: string, quality: QualityRating) => void;
export declare type AudioLevelCallback =
/**
* @~english
* @param level Current user audio Level
* @~chinese
* @param level 当前的用户音频强度。
*/
(level: RtcAudioLevel) => void;
export declare type VideoSendStatsCallback =
/**
* @~english
* @param stats Statistics of sent video.
* @~chinese
* @param stats 已发送视频的统计信息。
*/
(stats: RtcVideoSendStats) => void;
export declare type VideoRecvStatsCallback =
/**
* @~english
* @param stats Statistics of received video.
* @~chinese
* @param stats 已接收视频的统计信息。
*/
(stats: RtcVideoRecvStats) => void;
export declare type ScreenSendStatsCallback =
/**
* @~english
* @param stats Statistics of sent video.
* @~chinese
* @param stats 已发送屏幕共享的统计信息。
*/
(stats: RtcScreenSendStats) => void;
export declare type ScreenRecvStatsCallback =
/**
* @~english
* @param stats Statistics of received screen sharing.
* @~chinese
* @param stats 已接收屏幕共享的统计信息。
*/
(stats: RtcScreenRecvStats) => void;
export declare type AudioSendStatsCallback =
/**
* @~english
* @param stats Statistics of sent aduio.
* @~chinese
* @param stats 已发送音频的统计信息。
*/
(stats: RtcAudioSendStats) => void;
export declare type AudioRecvStatsCallback =
/**
* @~english
* @param stats Statistics of received audio.
* @~chinese
* @param stats 已接收音频的统计信息。
*/
(stats: RtcAudioRecvStats) => void;
export declare type VideoSendBweStatsCallback =
/**
* @~english
* @param stats Bandwidth estimation of sent video.
* @~chinese
* @param stats 发送视频的带宽评估信息。
*/
(stats: RtcVideoSendBweStats) => void;
export declare type VideoRecvBweStatsCallback =
/**
* @~english
* @param stats Bandwidth estimation of received video.
* @~chinese
* @param stats 接收视频的带宽评估信息。
*/
(stats: RtcVideoRecvBweStats) => void;
export declare type SystemStatsCallback =
/**
* @~english
* @param stats Current system statistics.
* @~chinese
* @param stats 当前的系统统计信息。
*/
(stats: RtcSystemStats) => void;
export declare type ResultWithFileIdCallback =
/**
* @~english
* @param result Notification result
* @param fileId Whiteboard file ID
* @~chinese
* @param result 通知结果
* @param fileId 白板文件ID
*/
(result: ResultCode, fileId: string) => void;
export declare type SnapshotResultWithFileNameCallback =
/**
* @~english
* @param result snapshot result
* @param filename snapshot image full path with name.
* @~chinese
* @param result 快照结果
* @param filename 快照文件名
*/
(result: ResultCode, filename: string) => void;
export declare type PageNumberChangedCallback =
/**
* @~english
* @param curPage The current page number.
* @param totalPages The total page number.
* @~chinese
* @param curPage 当前页码。
* @param totalPages 总页码数.
*/
(curPage: WBPageNumber, totalPages: number) => void;
export declare type ImageStateCallback =
/**
* @~english
* @param state The image state.
* @param url The image URL.
* @~chinese
* @param state 图片状态码。
* @param url 图片 URL。
*/
(url: string, status: WBImageState) => void;
export declare type ViewScaleCallback =
/**
* @~english
* @param scale The scale factor.
* @~chinese
* @param scale 缩放比例。
*/
(scale: number) => void;
export declare type NewRoleTypeCallback =
/**
* @~english
* @param newRole The new role type.
* @~chinese
* @param newRole 新角色。
*/
(newRole: WBRoleType) => void;
export declare type MessageCallback =
/**
* @~english
* @param userId The user who send the message.
* @param message The message data.
* @~chinese
* @param userId 发送消息的用户。
* @param message 接收到的消息。
*/
(userId: string, message: string) => void;
export declare type DocTranscodeStatusCallback =
/**
* @~english
* @param result Notification result
* @param fileId Whiteboard file ID
* @param progress Transcode progress
* @param totalPages Transcode total page number
* @~chinese
* @param result 通知结果
* @param fileId 白板文件ID
* @param progress 转码进度
* @param totalPages 转码总页数
*/
(result: ResultCode, fileId: string, progress: number, totalPages: number) => void;
export declare type SaveDocCallback =
/**
* @~english
* @param result Notification result
* @param fileId Whiteboard file ID
* @param outputDir Output directory
* @~chinese
* @param result 通知结果
* @param fileId 白板文件ID
* @param outputDir 输出路径
*/
(result: ResultCode, fileId: string, outputDir: string) => void;
export declare type DocThumbnailReadyCallback =
/**
* @~english
* @param fileId Whiteboard file ID
* @param urls Thumbnail url array
* @~chinese
* @param fileId 白板文件ID
* @param urls 缩略图url数组
*/
(fileId: string, urls: string[]) => void;
export declare type ExternalHtmlMessageReceivedCallback =
/**
* @~english
* @param msg received message
* @param fileId Whiteboard file ID
* @~chinese
* @param msg 收到的自定义消息
* @param fileId 白板文件ID
*/
(msg: string, fileId: string) => void;
export declare type UserIdWithStreamIdCallback =
/**
* @~english
* @param userId User ID
* @param streamId Stream ID
* @~chinese
* @param userId 用户ID
* @param streamId 视频流ID
*/
(userId: string, streamId: number) => void;
export declare type NetworkTestCallback =
/**
* @~english
* @param quality Network quality report.
* @~chinese
* @param quality 网络质量报告。
*/
(quality: RtcNetworkQuality) => void;
export declare type MessageServiceStateCallback =
/**
* @~english
* @brief Notification of message service state change
* @param state The service state, You can send message when state is kPanoMessageServiceAvailable.
* @param reason The reason of the state change
* @~chinese
* @brief 消息服务状态变更的通知
* @param state 服务状态,kPanoMessageServiceAvailable 时可以发送消息。
* @param reason 状态变更的原因
*/
(state: MessageServiceState, reason: ResultCode) => void;
export declare type SubscribeResultCallback =
/**
* @~english
* @param topic The topic.
* @param result The result of topic subscription.
* @~chinese
* @param topic 主题标识。
* @param result 主题订阅的结果。
*/
(topic: string, result: ResultCode) => void;
export declare type TopicMessageCallback =
/**
* @~english
* @param topic The topic.
* @param userId The user who published the message.
* @param data The topic data.
* @~chinese
* @param topic 主题标识。
* @param userId 发布主题消息的用户标识。
* @param data 主题消息数据。
*/
(topic: string, userId: string, data: string) => void;
export declare type PropertyChangedCallback =
/**
* @~english
* @param props The property action array.
* @~chinese
* @param props 变更属性的数组。
*/
(props: RtcPropertyAction[]) => void;
export declare type ScreenCaptureStateCallback =
/**
* @~english
* Notification of screen capture state changed.
* @param state The capture state.
* @param reason The reason of capture state change.
* @~chinese
* 屏幕采集状态变化的通知。
* @param state 采集状态。
* @param reason 状态变化原因。
*/
(state: ScreenCaptureState, reason: ResultCode) => void;
/**
* Callbacks.
*
* The SDK uses the [`RtcEngineEventHandler`]{@link RtcEngineEventHandler} interface class to send callbacks to the application, and the application inherits the methods of this interface class to retrieve these callbacks.
* All methods in this interface class have their (empty) default implementations, and the application can inherit only some of the required events instead of all of them.
* In the callbacks, the application should avoid time-consuming tasks or call blocking APIs, otherwise, the SDK may not work properly.
*/
export interface RtcEngineEventHandler {
/**
* Notification of join channel
*
* 加入频道的通知
*
* @event onChannelJoinConfirm
*/
onChannelJoinConfirm: ResultCallback;
/**
* Notification of leave channel
*
* 离开频道的通知
*
* @event onChannelLeaveIndication
*/
onChannelLeaveIndication: ResultCallback;
/**
* @~english
* @brief Notification of channel count down.
* @event onChannelCountDown
* @~chinese
* @brief 频道倒计时通知
* @event onChannelCountDown
*/
onChannelCountDown: RemainCallback;
/**
* @~english
* @brief Callback the event when a user joins the channel.
* @event onUserJoinIndication
* @~chinese
* @brief 回调用户加入频道的事件。
* @event onUserJoinIndication
*/
onUserJoinIndication: UserIdWithUserNameCallback;
/**
* @~english
* @brief Callback the event when a user leaves the channel.
* @event onUserLeaveIndication
* @~chinese
* @brief 回调用户离开频道的事件。
* @event onUserLeaveIndication
*/
onUserLeaveIndication: UserLeaveReasonCallback;
/**
* @~english
* @brief Callback the event when a user starts audio.
* @event onUserAudioStart
* @~chinese
* @brief 回调用户开启音频的事件。
* @event onUserAudioStart
*/
onUserAudioStart: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user stops audio.
* @event onUserAudioStop
* @~chinese
* @brief 回调用户停止音频的事件。
* @event onUserAudioStop
*/
onUserAudioStop: UserIdCallback;
/**
* @~english
* @brief Notification of result to subscribe user audio.
* @event onUserAudioSubscribe
* @~chinese
* @brief 用户音频订阅结果通知。
* @event onUserAudioSubscribe
*/
onUserAudioSubscribe: UserIdWithSubscribeResultCallback;
/**
* @~english
* @brief Callback the event when a user starts video.
* @event onUserVideoStart
* @~chinese
* @brief 回调用户开启视频的事件。
* @event onUserVideoStart
*/
onUserVideoStart: UserIdWithMaxProfileCallback;
/**
* @~english
* @brief Callback the event when a user stops video.
* @event onUserVideoStop
* @~chinese
* @brief 回调用户停止视频的事件。
* @event onUserVideoStop
*/
onUserVideoStop: UserIdCallback;
/**
* @~english
* @brief Notification of result to subscribe user video.
* @event onUserVideoSubscribe
* @~chinese
* @brief 用户视频订阅结果通知。
* @event onUserVideoSubscribe
*/
onUserVideoSubscribe: UserIdWithSubscribeResultCallback;
/**
* @~english
* @brief Callback the event when a user mutes audio.
* @event onUserAudioMute
* @~chinese
* @brief 回调用户静音的事件。
* @event onUserAudioMute
*/
onUserAudioMute: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user unmutes audio.
* @event onUserAudioUnmute
* @~chinese
* @brief 回调用户取消静音的事件。
* @event onUserAudioUnmute
*/
onUserAudioUnmute: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user pauses video.
* @event onUserVideoMute
* @~chinese
* @brief 回调用户暂停视频的事件。
* @event onUserVideoMute
*/
onUserVideoMute: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user resumes video.
* @event onUserVideoUnmute
* @~chinese
* @brief 回调用户恢复视频的事件。
* @event onUserVideoUnmute
*/
onUserVideoUnmute: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user starts screen sharing.
* @event onUserScreenStart
* @~chinese
* @brief 回调用户开启屏幕共享的事件。
* @event onUserScreenStart
*/
onUserScreenStart: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user stops screen sharing.
* @event onUserScreenStop
* @~chinese
* @brief 回调用户停止屏幕共享的事件。
* @event onUserScreenStop
*/
onUserScreenStop: UserIdCallback;
/**
* @~english
* @brief Notification of result to subscribe user screen sharing.
* @event onUserScreenSubscribe
* @~chinese
* @brief 用户屏幕共享订阅结果通知。
* @event onUserScreenSubscribe
*/
onUserScreenSubscribe: UserIdWithSubscribeResultCallback;
/**
* @~english
* @brief Callback the event when a user pauses screen sharing.
* @event onUserScreenMute
* @~chinese
* @brief 回调用户暂停屏幕共享的事件。
* @event onUserScreenMute
*/
onUserScreenMute: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user resumes screen sharing.
* @event onUserScreenUnmute
* @~chinese
* @brief 回调用户恢复屏幕共享的事件。
* @event onUserScreenUnmute
*/
onUserScreenUnmute: UserIdCallback;
/**
* @~english
* @brief Callback the event when whiteboard is available.
* @event onWhiteboardAvailable
* @~chinese
* @brief 回调白板可用的事件。
* @event onWhiteboardAvailable
*/
onWhiteboardAvailable: EmptyCallback;
/**
* @~english
* @brief Callback the event when whiteboard is unavailable.
* @event onWhiteboardUnavailable
* @~chinese
* @brief 回调白板不可用的事件。
* @event onWhiteboardUnavailable
*/
onWhiteboardUnavailable: EmptyCallback;
/**
* @~english
* @brief Callback the event when default whiteboard is started.
* @event onWhiteboardStart
* @~chinese
* @brief 回调默认白板开启的事件。
* @event onWhiteboardStart
*/
onWhiteboardStart: EmptyCallback;
/**
* @~english
* @brief Callback the event when default whiteboard is stopped.
* @event onWhiteboardStop
* @~chinese
* @brief 回调默认白板停止的事件。
* @event onWhiteboardStop
*/
onWhiteboardStop: EmptyCallback;
/**
* @~english
* @brief Callback the event when whiteboard is started.
* @event onWhiteboardStartWithId
* @~chinese
* @brief 回调白板开启的事件。
* @event onWhiteboardStartWithId
*/
onWhiteboardStartWithId: WhiteboardIdCallback;
/**
* @~english
* @brief Callback the event when whiteboard is stopped.
* @event onWhiteboardStopWithId
* @~chinese
* @brief 回调白板停止的事件。
* @event onWhiteboardStopWithId
*/
onWhiteboardStopWithId: WhiteboardIdCallback;
/**
* @~english
* @brief Callback the event when the first audio packet is received.
* @event onFirstAudioDataReceived
* @~chinese
* @brief 回调接收到首个音频数据包的事件。
* @event onFirstAudioDataReceived
*/
onFirstAudioDataReceived: UserIdCallback;
/**
* @~english
* @brief Callback the event when the first video packet is received.
* @event onFirstVideoDataReceived
* @~chinese
* @brief 回调接收到首个视频数据包的事件。
* @event onFirstVideoDataReceived
*/
onFirstVideoDataReceived: UserIdCallback;
/**
* @~english
* @brief Callback the event when the first screen sharing packet is received.
* @event onFirstScreenDataReceived
* @~chinese
* @brief 回调接收到首个屏幕共享数据包的事件。
* @event onFirstScreenDataReceived
*/
onFirstScreenDataReceived: UserIdCallback;
/**
* @~english
* @brief Callback the event when the first video frame is rendered.
* @event onFirstVideoFrameRendered
* @~chinese
* @brief 回调渲染首个视频帧的事件。
* @event onFirstVideoFrameRendered
*/
onFirstVideoFrameRendered: UserIdCallback;
/**
* @~english
* @brief Callback the event when the first screen sharing frame is rendered.
* @event onFirstScreenFrameRendered
* @~chinese
* @brief 回调渲染首个屏幕共享帧的事件。
* @event onFirstScreenFrameRendered
*/
onFirstScreenFrameRendered: UserIdCallback;
/**
* @~english
* @brief Callback video capture state change.
* @event onVideoCaptureStateChanged
* @~chinese
* @brief 回调视频采集状态变更。
* @event onVideoCaptureStateChanged
*/
onVideoCaptureStateChanged: DeviceIdWithVideoCaptureStateCallback;
/**
* @~english
* @brief Callback the state of failovering the channel.
* @event onChannelFailover
* @~chinese
* @brief 回调频道的故障转移状态。
* @event onChannelFailover
*/
onChannelFailover: FailoverStateCallback;
/**
* @~english
* @brief Notification of active speaker list updating
* @note The userId list sorted by users' audio energy.
* @event onActiveSpeakerListUpdated
* @~chinese
* @brief 活跃用户列表变更通知
* @note 用户 ID 列表按声音能量值排序。
* @event onActiveSpeakerListUpdated
*/
onActiveSpeakerListUpdated: UserIdListCallback;
/**
* @~english
* @brief Callback the event when state of audio mixing task changed.
* @event onAudioMixingStateChanged
* @~chinese
* @brief 回调混音任务状态改变的事件。
* @event onAudioMixingStateChanged
*/
onAudioMixingStateChanged: TaskIdWithAudioMixingStateCallback;
/**
* @~english
* @brief Callback the event when video snapshot completed.
* @event onVideoSnapshotCompleted
* @~chinese
* 用户视频快照完成通知
* @event onVideoSnapshotCompleted
*/
onVideoSnapshotCompleted: SnapshotCompletedWithUserIdCallback;
/**
* @~english
* @brief Notification of audio start result
* @event onAudioStartResult
* @~chinese
* @brief 音频开启成功与否的通知
* @event onAudioStartResult
*/
onAudioStartResult: ResultCallback;
/**
* @~english
* @brief Notification of video start result
* @event onVideoStartResult
* @~chinese
* @brief 视频开启成功与否的通知
* @event onVideoStartResult
*/
onVideoStartResult: ResultCallback;
/**
* @~english
* @brief Notification of sharing start result
* @event onScreenStartResult
* @~chinese
* @brief 共享开启成功与否的通知
* @event onScreenStartResult
*/
onScreenStartResult: ResultCallback;
/**
* @~english
* Notification of screen capture state changed.
* @event onScreenCaptureStateChanged
* @~chinese
* 屏幕采集状态变化的通知。
* @event onScreenCaptureStateChanged
*/
onScreenCaptureStateChanged: ScreenCaptureStateCallback;
/**
* @~english
* @brief Notification of in-call network quality.
* @event onNetworkQuality
* @~chinese
* @brief 通话中的网络质量通知。
* @event onNetworkQuality
*/
onNetworkQuality: UserIdWithNetworkQualityRatingCallback;
/**
* @~english
* @brief Callback Audio Level.
* @event onUserAudioLevel
* @~chinese
* @brief 回调音频强度。
* @event onUserAudioLevel
*/
onUserAudioLevel: AudioLevelCallback;
/**
* @~english
* @brief Callback statistics of sent video.
* @event onVideoSendStats
* @~chinese
* @brief 回调发送视频的统计。
* @event onVideoSendStats
*/
onVideoSendStats: VideoSendStatsCallback;
/**
* @~english
* @brief Callback statistics of received video.
* @event onVideoRecvStats
* @~chinese
* @brief 回调接收视频的统计。
* @event onVideoRecvStats
*/
onVideoRecvStats: VideoRecvStatsCallback;
/**
* @~english
* @brief Callback statistics of sent audio.
* @event onAudioSendStats
* @~chinese
* @brief 回调发送音频的统计。
* @event onAudioSendStats
*/
onAudioSendStats: AudioSendStatsCallback;
/**
* @~english
* @brief Callback statistics of received audio.
* @event onAudioRecvStats
* @~chinese
* @brief 回调接收音频的统计。
* @event onAudioRecvStats
*/
onAudioRecvStats: AudioRecvStatsCallback;
/**
* @~english
* @brief Callback statistics of sent screen sharing.
* @event onScreenSendStats
* @~chinese
* @brief 回调发送屏幕共享的统计。
* @event onScreenSendStats
*/
onScreenSendStats: ScreenSendStatsCallback;
/**
* @~english
* @brief Callback statistics of received screen sharing.
* @event onScreenRecvStats
* @~chinese
* @brief 回调接收屏幕共享的统计。
* @event onScreenRecvStats
*/
onScreenRecvStats: ScreenRecvStatsCallback;
/**
* @~english
* @brief Callback bandwidth estimation information of sent video.
* @note Total bandwidth evaluation including sent video and screen sharing.
* @event onVideoSendBweStats
* @~chinese
* @brief 回调发送视频的带宽评估。
* @note 包含发送视频和屏幕共享的总共带宽评估。
* @event onVideoSendBweStats
*/
onVideoSendBweStats: VideoSendBweStatsCallback;
/**
* @~english
* @brief Callback bandwidth estimation information of received video.
* @note Total bandwidth estimation including received video and screen sharing.
* @event onVideoRecvBweStats
* @~chinese
* @brief 回调接收视频的带宽评估。
* @note 包含接收视频和屏幕共享的总共带宽评估。
* @event onVideoRecvBweStats
*/
onVideoRecvBweStats: VideoRecvBweStatsCallback;
/**
* @~english
* @brief Callback system statistics.
* @event onSystemStats
* @~chinese
* @brief 回调系统统计信息。
* @event onSystemStats
*/
onSystemStats: SystemStatsCallback;
}
export interface RtcWhiteboardEventHandler {
onStatusSynced: EmptyCallback;
/**
* @~english
* @brief Notification of page number changed.
* @event onPageNumberChanged
* @~chinese
* @brief 白板页码变化通知。
* @event onPageNumberChanged
*/
onPageNumberChanged: PageNumberChangedCallback;
/**
* @~english
* @brief Notification of image state changed.
* @event onImageStateChanged
* @~chinese
* @brief 图片状态变化通知。
* @event onImageStateChanged
*/
onImageStateChanged: ImageStateCallback;
/**
* @~english
* @param scale The scale factor.
* @event onViewScaleChanged
* @~chinese
* @param scale 缩放比例。
* @event onViewScaleChanged
*/
onViewScaleChanged: ViewScaleCallback;
/**
* @~english
* @brief Notification of whiteboard role type changed.
* @event onRoleTypeChanged
* @~chinese
* @brief 白板角色类型变化通知。
* @event onRoleTypeChanged
*/
onRoleTypeChanged: NewRoleTypeCallback;
/**
* @~english
* @brief Notification of whiteboard content update.
* @event onContentUpdated
* @~chinese
* @brief 白板内容更新通知。
* @event onContentUpdated
*/
onContentUpdated: EmptyCallback;
/**
* @~english
* Notification of whiteboard snapshot complete
* @event onSnapshotComplete
* @~chinese
* 白板快照完成通知
* @event onSnapshotComplete
*/
onSnapshotComplete: SnapshotResultWithFileNameCallback;
/**
* @~english
* @brief Callback the event when message is received.
* @event onMessage
* @~chinese
* @brief 白板消息通知
* @event onMessage
*/
onMessage: MessageCallback;
/**
* @~english
* @brief Notification of add background images
* @event onAddBackgroundImages
* @~chinese
* @brief 添加一组背景图结果通知
* @event onAddBackgroundImages
*/
onAddBackgroundImages: ResultWithFileIdCallback;
/**
* @~english
* @brief Notification of add H5 file
* @event onAddH5File
* @~chinese
* @brief 添加H5文件结果通知
* @event onAddH5File
*/
onAddH5File: ResultWithFileIdCallback;
/**
* @~english
* @brief Notification of doc transcode status
* @event onDocTranscodeStatus
* @~chinese
* @brief 文档转码状态通知
* @event onDocTranscodeStatus
*/
onDocTranscodeStatus: DocTranscodeStatusCallback;
/**
* @~english
* @brief Notification of create whiteboard file
* @event onCreateDoc
* @~chinese
* @brief 创建白板文件通知
* @event onCreateDoc
*/
onCreateDoc: ResultWithFileIdCallback;
/**
* @~english
* @brief Notification of delete whiteboard file
* @event onDeleteDoc
* @~chinese
* @brief 删除白板文件通知
* @event onDeleteDoc
*/
onDeleteDoc: ResultWithFileIdCallback;
/**
* @~english
* @brief Notification of switch whiteboard file.
* @event onSwitchDoc
* @~chinese
* @brief 切换白板文件通知。
* @event onSwitchDoc
*/
onSwitchDoc: ResultWithFileIdCallback;
/**
* @~english
* @brief Notification of save whiteboard file.
* @event onSaveDoc
* @~chinese
* @brief 保存白板文件通知。
* @event onSaveDoc
*/
onSaveDoc: SaveDocCallback;
/**
* @~english
* @brief Notification of whiteboard file thumbnail ready.
* @event onDocThumbnailReady
* @~chinese
* @brief 白板文件缩略图完成通知。
* @event onDocThumbnailReady
*/
onDocThumbnailReady: DocThumbnailReadyCallback;
/**
* @~english
* @brief Notification of custom message received from external html
* @event ExternalHtmlMessageReceivedCallback
* @~chinese
* @brief 外部Html消息通知
* @event ExternalHtmlMessageReceivedCallback
*/
onExternalHtmlMessageReceived: ExternalHtmlMessageReceivedCallback;
/**
* @~english
* @brief Notification of vision share started.
* @event onVisionShareStarted
* @~chinese
* @brief 视角共享开始通知。
* @event onVisionShareStarted
*/
onVisionShareStarted: UserIdCallback;
/**
* @~english
* @brief Notification of vision share started.
* @event onVisionShareStopped
* @~chinese
* @brief 视角共享开始通知。
* @event onVisionShareStopped
*/
onVisionShareStopped: UserIdCallback;
/**
* @~english
* @brief Callback the event when a user joins the whiteboard.
* @event onUserJoined
* @~chinese
* @brief 回调用户加入白板的事件。
* @event onUserJoined
*/
onUserJoined: UserIdWithUserNameCallback;
/**
* @~english
* @brief Callback the event when a user leaves the whiteboard.
* @event onUserLeft
* @~chinese
* @brief 回调用户离开白板的事件。
* @event onUserLeft
*/
onUserLeft: UserIdCallback;
}
export interface RtcAnnotationManagerEventHandler {
/**
* @~english
* Notification of video annotation start.
* @event onVideoAnnotationStart
* @~chinese
* 开始视频标注通知。
* @event onVideoAnnotationStart
*/
onVideoAnnotationStart: UserIdWithStreamIdCallback;
/**
* @~english
* Notification of video annotation stop.
* @event onVideoAnnotationStop
* @~chinese
* 终止视频标注通知。
* @event onVideoAnnotationStop
*/
onVideoAnnotationStop: UserIdWithStreamIdCallback;
/**
* @~english
* Notification of share annotation start.
* @event onShareAnnotationStart
* @~chinese
* 开始共享标注通知。
* @event onShareAnnotationStart
*/
onShareAnnotationStart: UserIdCallback;
/**
* @~english
* Notification of share annotation stop.
* @event onShareAnnotationStop
* @~chinese
* 终止共享标注通知。
* @event onShareAnnotationStop
*/
onShareAnnotationStop: UserIdCallback;
}
export interface RtcAnnotationEventHandler {
/**
* @~english
* @brief Notification of annotation role type changed.
* @event onAnnoRoleChanged
* @~chinese
* @brief 标注角色类型变化通知。
* @event onAnnoRoleChanged
*/
onAnnoRoleChanged: NewRoleTypeCallback;
/**
* @~english
* Notification of annotation snapshot complete.
* @event onSnapshotComplete
* @~chinese
* 标注快照完成通知。
* @event onSnapshotComplete
*/
onSnapshotComplete: SnapshotResultWithFileNameCallback;
}
export interface RtcVideoStreamManagerEventHandler {
/**
* @~english
* @brief Callback the event when a user starts video.
* @event onUserVideoStreamStart
* @~chinese
* @brief 回调用户开启视频的事件。
* @event onUserVideoStreamStart
*/
onUserVideoStreamStart: UserIdWithStreamIdAndMaxProfileCallback;
/**
* @~english
* @brief Callback the event when a user stops video.
* @event onUserVideoStreamStop
* @~chinese
* @brief 回调用户停止视频的事件。
* @event onUserVideoStreamStop
*/
onUserVideoStreamStop: UserIdWithStreamIdCallback;
/**
* @~english
* @brief Notification of result to subscribe user video.
* @event onUserVideoStreamSubscribe
* @~chinese
* @brief 用户视频订阅结果通知。
* @event onUserVideoStreamSubscribe
*/
onUserVideoStreamSubscribe: UserIdWithStreamIdAndSubscribeResultCallback;
/**
* @~english
* @brief Callback the event when a user pauses video.
* @event onUserVideoMute
* @~chinese
* @brief 回调用户暂停视频的事件。
* @event onUserVideoMute
*/
onUserVideoMute: UserIdWithStreamIdCallback;
/**
* @~english
* @brief Callback the event when a user resumes video.
* @event onUserVideoUnmute
* @~chinese
* @brief 回调用户恢复视频的事件。
* @event onUserVideoUnmute
*/
onUserVideoUnmute: UserIdWithStreamIdCallback;
/**
* @~english
* @brief Callback the event when the first video packet is received.
* @event onFirstVideoDataReceived
* @~chinese
* @brief 回调接收到首个视频数据包的事件。
* @event onFirstVideoDataReceived
*/
onFirstVideoDataReceived: UserIdWithStreamIdCallback;
/**
* @~english
* @brief Callback the event when the first video frame is rendered.
* @event onFirstVideoFrameRendered
* @~chinese
* @brief 回调渲染首个视频帧的事件。
* @event onFirstVideoFrameRendered
*/
onFirstVideoFrameRendered: UserIdWithStreamIdCallback;
/**
* @~english
* @brief Callback the event when video snapshot completed.
* @event onVideoStreamSnapshotCompleted
* @~chinese
* @brief 用户视频快照完成通知。
* @event onVideoStreamSnapshotCompleted
*/
onVideoStreamSnapshotCompleted: SnapshotCompletedWithUserIdAndStreamIdCallback;
/**
* @~english
* @brief Callback video stream capture state change.
* @event onVideoCaptureStateChanged
* @~chinese
* @brief 回调视频采集状态变更。
* @event onVideoCaptureStateChanged
*/
onVideoCaptureStateChanged: DeviceIdWithStreamIdAndVideoCaptureStateCallback;
}
export interface RtcNetworkManagerHandler {
/**
* @~english
* @brief Callback the result of network test.
* @event onNetworkTestComplete
* @~chinese
* @brief 回调网络检测的结果。
* @event onNetworkTestComplete
*/
onNetworkTestComplete: NetworkTestCallback;
}
export interface RtcMessageServiceEventHandler {
/**
* @~english
* @brief Notification of message service state change
* @event onServiceStateChanged
* @note
* - Send the message when the callback service status is available,
* otherwise sending a message when the service is unavailable may cause the message to be lost.
* - The status callback will return immediately after joining the channel.
* It is recommended to set a callback before joining the channel to ensure
* that the service status is correctly obtained.
* @~chinese
* @brief 消息服务状态变更的通知
* @event onServiceStateChanged
* @note
* - 当回调服务状态可用后再发送消息,否则当服务不可用时发送消息可能造成消息丢失。
* - 状态回调会在加入频道后立即返回,建议在加入频道前设置回调,以确保正确获取服务状态。
*/
onServiceStateChanged: MessageServiceStateCallback;
/**
* @~english
* @brief Notification of user message
* @event onUserMessage
* @~chinese
* @brief 用户消息通知
* @event onUserMessage
*/
onUserMessage: MessageCallback;
/**
* @~english
* @brief Notification of topic message
* @~chinese
* @brief 用户主题消息通知
*/
onSubscribeResult: SubscribeResultCallback;
/**
* @~english
* @brief Notification of topic message
* @~chinese
* @brief 用户主题消息通知
*/
onTopicMessage: TopicMessageCallback;
/**
* @~english
* @brief Notification of message service property change.
* @~chinese
* @brief 消息服务属性变更通知。
*/
onPropertyChanged: PropertyChangedCallback;
}