android_IRTCEngineEventHandler class

Inheritance

Properties

$instance ↔ dynamic
getter/setter pairinherited
$resource → NativeResource
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
ready Future<void>
Whether the instance is initialized
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

destroy() → void
inherited
emit(String name, List args) → dynamic
inherited
nativeCall<T>(String method, [List? args, NativeMethodMeta? meta]) Future<T>
Call instance method
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onActiveSpeaker(dynamic roomId, dynamic uid) FutureOr<void>
@detail callback @author gongzhengduo @brief 调用 enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport} 后,根据设置的 AudioPropertiesConfig.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。 @param roomId 房间 ID @param uid 最活跃用户(ActiveSpeaker)的用户 ID
override
onAudioDeviceStateChanged(dynamic deviceID, dynamic deviceType, dynamic deviceState, dynamic deviceError) FutureOr<void>
@detail callback @author dixing @brief 音频设备状态回调。提示音频采集、音频播放等媒体设备的状态。 @param deviceID 设备 ID @param deviceType 设备类型,详见 AudioDeviceType{@link #AudioDeviceType}。 @param deviceState 设备状态,详见 MediaDeviceState{@link #MediaDeviceState}。 @param deviceError 设备错误类型,详见 MediaDeviceError{@link #MediaDeviceError}。
override
onAudioDeviceWarning(dynamic deviceID, dynamic deviceType, dynamic deviceWarning) FutureOr<void>
@detail callback @author dixing @brief 音频设备警告回调。音频设备包括音频采集设备、音频渲染设备等。 @param deviceID 设备 ID @param deviceType 参看 AudioDeviceType{@link #AudioDeviceType} @param deviceWarning 参看 MediaDeviceWarning{@link #MediaDeviceWarning}
override
onAudioDumpStateChanged(dynamic status) FutureOr<void>
@hidden for internal use only @detail callback @author songxiaomeng.19 @brief 音频 dump 状态改变回调 @param status 音频 dump 状态,参见 AudioDumpStatus{@link #AudioDumpStatus} @note 本回调用于内部排查音质相关异常问题,开发者无需关注。
override
onAudioFramePlayStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state) FutureOr<void>
@detail callback @author wangjunzheng @brief 音频首帧播放状态发生改变时,收到此回调。 @param streamId 流 ID @param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo} @param user 用户信息,参看 RtcUser{@link #RtcUser} @param state 首帧播放状态,详见 FirstFramePlayState{@link #FirstFramePlayState}
override
onAudioFrameSendStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state) FutureOr<void>
@detail callback @author wangjunzheng @brief 本地音频首帧发送状态发生改变时,收到此回调。 @param streamId 流 ID @param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo} @param user 用户信息,参看 RtcUser{@link #RtcUser} @param state 首帧发送状态,详见 FirstFrameSendState{@link #FirstFrameSendState}
override
onAudioMixingPlayingProgress(dynamic mixId, dynamic progress) FutureOr<void>
@detail callback @author songxiaomeng.19 @brief 混音音频文件播放进度回调 @param mixId 混音 ID @param progress 当前混音音频文件播放进度,单位毫秒 @note 调用 setAudioMixingProgressInterval 将时间间隔设为大于 0 的值后,或调用 startAudioMixing 将 AudioMixingConfig 中的时间间隔设为大于 0 的值后,SDK 会按照设置的时间间隔回调该事件。
override
onAudioPlaybackDeviceTestVolume(dynamic volume) FutureOr<void>
@detail callback @author dixing @brief 回调音频设备测试时的播放音量 @param volume 音频设备测试播放音量。取值范围:0,255 @note 调用 startAudioPlaybackDeviceTest{@link #IRTCAudioDeviceManager#startAudioPlaybackDeviceTest} 或 startAudioDeviceRecordTest{@link #IRTCAudioDeviceManager#startAudioDeviceRecordTest},开始播放音频文件或录音时,将开启该回调。本回调为周期性回调,回调周期由上述接口的 interval 参数指定。
override
onAudioRecordingStateUpdate(dynamic state, dynamic errorCode) FutureOr<void>
@detail callback @author huangshouqin @brief 调用 startAudioRecording{@link #RTCEngine#startAudioRecording} 或 stopAudioRecording{@link #RTCEngine#stopAudioRecording} 改变音频文件录制状态时,收到此回调。 @param state 录制状态,参看 AudioRecordingState{@link #AudioRecordingState} @param errorCode 录制错误码,参看 AudioRecordingErrorCode{@link #AudioRecordingErrorCode}
override
onAudioRouteChanged(dynamic route) FutureOr<void>
@detail callback @author dixing @brief 音频播放路由变化时,收到该回调。 @param route 新的音频播放路由,详见 AudioRoute{@link #AudioRoute} @note 插拔音频外设,或调用 setAudioRoute{@link #RTCEngine#setAudioRoute} 都可能触发音频路由切换,详见移动端设置音频路由
override
onCloudProxyConnected(dynamic interval) FutureOr<void>
@detail callback @author daining.nemo @brief 调用 startCloudProxy{@link #RTCEngine#startCloudProxy} 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。 @param interval 从开启云代理到连接成功经过的时间,单位为 ms
override
onConnectionStateChanged(dynamic state) FutureOr<void>
@detail callback @author hanchenchen.c @brief 回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。 @param state
当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState{@link #ConnectionState} @param reason
引起信令服务器连接状态发生改变的原因,目前未启用固定为 -1 。 @note 更多信息参见 连接状态提示
override
onEchoTestResult(dynamic result) FutureOr<void>
@detail callback @region 网络管理 @author qipengxiang @brief 关于音视频回路测试结果的回调。 @param result 测试结果,参看 EchoTestResult{@link #EchoTestResult} @note 该回调触发的时机包括:
- 检测过程中采集设备发生错误时; - 检测成功后; - 非设备原因导致检测过程中未接收到音/视频回放,停止检测后。
override
onEffectError(dynamic error, dynamic msg) FutureOr<void>
@hidden internal use only @detail callback @author wangqianqian.1104 @brief 当特效设置失败时,收到此回调。 @param error 特效错误类型。参看 EffectErrorType{@link #EffectErrorType}。 @param msg 错误信息。
override
onError(dynamic err) FutureOr<void>
@detail callback @author panjian.fishing @brief 发生错误回调。
SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。
你可能需要干预. @param err 错误代码,详情定义见: ErrorCode{@link #ErrorCode}
override
onExperimentalCallback(dynamic param) FutureOr<void>
@hidden internal use only @valid since 3.60. @detail callback @author hegangjie @brief 试验性接口回调 @param param 回调内容(JSON string)
override
onExtensionAccessError(dynamic extensionName, dynamic msg) FutureOr<void>
@valid since 3.52 @detail callback @author zhanyunqiao @brief 当访问插件失败时,收到此回调。
RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。 @param extensionName 插件名字 @param msg 失败说明
override
onExternalScreenFrameUpdate(dynamic info) FutureOr<void>
@hidden @detail callback @author zhoubohui @brief 外部采集时,调用 setOriginalScreenVideoInfo 设置屏幕或窗口大小改变前的分辨率后,若屏幕采集模式为智能模式,你将收到此回调,根据 RTC 智能决策合适的帧率和分辨率积(宽高)重新采集。 @param info RTC 智能决策后合适的帧率和分辨率积(宽高)。参看 FrameUpdateInfo{@link #FrameUpdateInfo}。
override
onFirstLocalAudioFrame(dynamic audioSource) FutureOr<void>
@detail callback @author zhangyuanyuan.0101 @brief 发布音频流时,采集到第一帧音频帧,收到该回调。 @param audioSource 预留参数 @note 如果发布音频流时,未开启本地音频采集,SDK 会推送静音帧,也会收到此回调。
override
onFirstLocalVideoFrameCaptured(dynamic videoSource, dynamic frameInfo) FutureOr<void>
@detail callback @author zhangzhenyu.samuel @brief RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。 @param videoSource 预留参数。 @param frameInfo 视频信息,参看 VideoFrameInfo{@link #VideoFrameInfo} @note 对于采集到的本地视频帧,你可以调用 setLocalVideoCanvas{@link #RTCEngine#setLocalVideoCanvas} 或 setLocalVideoSink{@link #RTCEngine#setLocalVideoSink} 在本地渲染。
override
onFirstRemoteAudioFrame(dynamic streamId, dynamic streamInfo) FutureOr<void>
@detail callback @author zhangyuanyuan.0101 @brief 订阅端接收并解码远端音频流首帧时,收到此回调。包含以下情况:
1. 发布端发布音频,包含首次发布和取消后再次发布。
2. 发布端关闭音频采集后,再次打开采集。使用外部源时,停止推流后再次推流。
3. 发布端发布音频后,订阅端取消订阅音频后,又再次订阅音频。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @note - 用户刚收到房间内订阅的每一路音频流时,都会收到该回调。 - 摄像头流、屏幕流,内部采集、外部源、自动订阅和手动订阅的音频流,都符合上述策略。
override
onFirstRemoteVideoFrameDecoded(dynamic streamId, dynamic streamInfo, dynamic frameInfo) FutureOr<void>
@detail callback @author zhushufan.ref @brief 订阅端接收并解码远端视频流首帧时,收到此回调。包含以下情况:
1. 发布端发布视频,包含首次发布和取消后再次发布。
2. 发布端关闭视频采集后,再次打开采集。使用外部源时,停止推流后再次推流。
3. 发布端发布视频后,订阅端取消订阅视频后,又再次订阅视频。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param frameInfo 视频帧信息,参看 VideoFrameInfo{@link #VideoFrameInfo} @note - 用户刚收到房间内订阅的每一路视频流时,都会收到该回调。 - 摄像头流、屏幕流,内部采集、外部源,自动订阅和手动订阅的视频流,都符合上述策略。
override
onFirstRemoteVideoFrameRendered(dynamic streamId, dynamic streamInfo, dynamic frameInfo) FutureOr<void>
@detail callback @author zhushufan.ref @brief SDK 内部渲染成功远端视频流首帧后,收到此回调。包含以下情况:
1. 发布端首次发布视频
2. 在 1 条件下,发布端取消发布视频后,再次发布视频
3. 在 1 条件下,发布端关闭视频采集后,再次打开采集(或使用外部源时,停止推流后再次推流)
4. 在 1 条件下,订阅端取消订阅视频后,再次订阅视频(调用接口包括 subscribeAllStreamsVideo{@link #RTCRoom-subscribeAllStreamsVideo},pauseAllSubscribedStreamVideo{@link #RTCRoom#pauseAllSubscribedStreamVideo}。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param frameInfo 视频帧信息,参看 VideoFrameInfo{@link #VideoFrameInfo} @note 仅在采用内部渲染时,符合上述策略。
override
onGetPeerOnlineStatus(dynamic peerUserId, dynamic status) FutureOr<void>
@detail callback @author hanchenchen.c @brief 查询对端或本端用户登录状态的返回结果 @param peerUserId
需要查询的用户 ID @param status
查询的用户登录状态
详见 UserOnlineStatus{@link #UserOnlineStatus}. @note 必须先调用 getPeerOnlineStatus{@link #RTCEngine#getPeerOnlineStatus},才能收到此回调。
override
onHardwareEchoDetectionResult(dynamic hardwareEchoDetectionResult) FutureOr<void>
@detail callback @author zhangcaining @brief 通话前回声检测结果回调。 @param hardwareEchoDetectionResult 参见 HardwareEchoDetectionResult{@link #HardwareEchoDetectionResult} @note - 通话前调用 startHardwareEchoDetection{@link #RTCEngine#startHardwareEchoDetection} 后,将触发本回调返回检测结果。 - 建议在收到检测结果后,调用 stopHardwareEchoDetection{@link #RTCEngine#stopHardwareEchoDetection} 停止检测,释放对音频设备的占用。 - 如果 SDK 在通话中检测到回声,将通过 onAudioDeviceWarning{@link #IRTCEngineEventHandler#onAudioDeviceWarning} 回调 MEDIA_DEVICE_WARNING_DETECT_LEAK_ECHO
override
onLicenseWillExpire(dynamic days) FutureOr<void>
@hidden internal use only @detail callback @author wangyu.1705 @brief license 过期时间提醒 @param days 即将过期剩余天数
override
onLocalAudioPropertiesReport(List audioPropertiesInfos) FutureOr<void>
@detail callback @author wangjunzheng @brief 调用 enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport} 后,你会周期性地收到此回调,了解本地音频的瞬时相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频,屏幕音频和本地混音音频信息。 @param audioPropertiesInfos 本地音频信息,详见 LocalAudioPropertiesInfo{@link #LocalAudioPropertiesInfo} 。
override
onLocalAudioStateChanged(dynamic audioSource, dynamic state, dynamic error) FutureOr<void>
@detail callback @author zhangyuanyuan.0101 @brief 本地音频流的状态发生改变时,收到此回调。 @param audioSource 预留参数 @param state 本地音频设备的状态,详见 LocalAudioStreamState{@link #LocalAudioStreamState} @param error 本地音频流状态改变时的错误码,详见 LocalAudioStreamError{@link #LocalAudioStreamError}
override
onLocalProxyStateChanged(dynamic localProxyType, dynamic localProxyState, dynamic localProxyError) FutureOr<void>
@detail callback @author keshixing.rtc @brief 本地代理状态发生改变回调。调用 setLocalProxy{@link #RTCEngine#setLocalProxy} 设置本地代理后,SDK 会触发此回调,通知代理连接的状态。 @param localProxyType 本地代理类型。参看 LocalProxyType{@link #LocalProxyType} 。 @param localProxyState 本地代理状态。参看 LocalProxyState{@link #LocalProxyState}。 @param localProxyError 本地代理错误。参看 LocalProxyError{@link #LocalProxyError}。
override
onLocalVideoSizeChanged(dynamic videoSource, dynamic frameInfo) FutureOr<void>
@detail callback @author zhushufan.ref @brief 本地预览视频大小或旋转信息发生改变时,收到此回调。 @param videoSource 预留参数。 @param frameInfo 视频帧信息,参看 VideoFrameInfo{@link #VideoFrameInfo}
override
onLocalVideoStateChanged(dynamic videoSource, dynamic state, dynamic error) FutureOr<void>
@detail callback @author shenpengliang @brief 本地视频流的状态发生改变时,收到该事件。 @param videoSource 预留参数 @param state 本地视频流状态,参看 LocalVideoStreamState{@link #LocalVideoStreamState} @param error 本地视频状态改变时的错误码,参看 LocalVideoStreamError{@link #LocalVideoStreamError}
override
onLoginResult(dynamic uid, dynamic errorCode, dynamic elapsed) FutureOr<void>
@detail callback @author hanchenchen.c @brief 登录结果回调 @param uid
登录用户 ID @param errorCode
登录结果
详见 LoginErrorCode{@link #LoginErrorCode}。 @param elapsed
从调用 login{@link #RTCEngine#login} 接口开始到返回结果所用时长。
单位为 ms。 @note 调用 login{@link #RTCEngine#login} 后,会收到此回调。
override
onLogout(dynamic reason) FutureOr<void>
@detail callback @author hanchenchen.c @brief 登出结果回调 @param reason 用户登出的原因,参看 LogoutReason{@link #LogoutReason} @note 在以下两种情况下会收到此回调:调用 logout{@link #RTCEngine#logout} 接口主动退出;或其他用户以相同 UserId 进行 login 导致本地用户被动登出。
override
onLogReport(dynamic logType, dynamic logContent) FutureOr<void>
@detail callback @author chenweiming.push @brief 上报日志时回调该事件。 @param logType
日志类型。 @param logContent
日志内容。
override
onMixedStreamEvent(dynamic info, dynamic event, dynamic error) FutureOr<void>
@valid since 3.60. 自 3.60 起,该回调替代了 onStreamMixingEventonPushPublicStreamResult 方法来实现下述功能。如果你已升级至 3.60 及以上版本,并且仍在使用这两个方法,请迁移到此回调。 @detail callback @author lizheng @brief 合流转推 CDN / WTN 流状态回调 @param info 任务详情,参看 MixedStreamTaskInfo{@link #MixedStreamTaskInfo}。 @param event 任务事件,参看 MixedStreamTaskEvent{@link #MixedStreamTaskEvent}。 @param error 任务错误码,参看 MixedStreamTaskErrorCode{@link #MixedStreamTaskErrorCode}
override
onNetworkDetectionResult(dynamic type, dynamic quality, dynamic rtt, dynamic lostRate, dynamic bitrate, dynamic jitter) FutureOr<void>
@detail callback @author hanchenchen.c @brief 通话前网络探测结果。
成功调用 startNetworkDetection{@link #RTCEngine#startNetworkDetection} 接口开始探测后,会在 3s 内首次收到该回调,之后每 2s 收到一次该回调。 @param type 探测网络类型为上行/下行 @param quality 探测网络的质量,参看 NetworkQuality{@link #NetworkQuality}。 @param rtt 探测网络的 RTT,单位:ms @param lostRate 探测网络的丢包率 @param bitrate 探测网络的带宽,单位:kbps @param jitter 探测网络的抖动,单位:ms
override
onNetworkDetectionStopped(dynamic reason) FutureOr<void>
@detail callback @author hanchenchen.c @brief 通话前网络探测结束
以下情况将停止探测并收到本一次本回调:
1. 当调用 stopNetworkDetection{@link #RTCEngine#stopNetworkDetection} 接口停止探测后,会收到一次该回调;
2. 当收到远端/本端音频首帧后,停止探测;
3. 当探测超过 3 分钟后,停止探测;
4. 当探测链路断开一定时间之后,停止探测。 @param reason
停止探测的原因类型,参考 NetworkDetectionStopReason{@link #NetworkDetectionStopReason}
override
onNetworkTimeSynchronized() FutureOr<void>
@detail callback @author songxiaomeng.19 @brief 首次调用 getNetworkTimeInfo{@link #RTCEngine#getNetworkTimeInfo} 后,SDK 内部启动网络时间同步,同步完成时会触发此回调。
override
onNetworkTypeChanged(dynamic type) FutureOr<void>
@detail callback @author hanchenchen.c @brief SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。 @param type
网络类型。
- -1: 网络连接类型未知。 - 0: 网络连接已断开。 - 1: LAN - 2: Wi-Fi,包含热点 - 3: 2G 移动网络 - 4: 3G 移动网络 - 5: 4G 移动网络 - 6: 5G 移动网络
override
onPerformanceAlarms(dynamic streamId, dynamic streamInfo, dynamic mode, dynamic reason, dynamic data) FutureOr<void>
@detail callback @author panjian.fishing @brief 本地未通过 setPublishFallbackOption{@link #RTCEngine#setPublishFallbackOption} 开启发布性能回退,检测到设备性能不足时,收到此回调。
本地通过 setPublishFallbackOption{@link #RTCEngine#setPublishFallbackOption} 开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。 @param streamId 流 ID @param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo} @param mode 指示本地是否开启发布回退功能。参看 PerformanceAlarmMode{@link #PerformanceAlarmMode}
- 当发布端未开启发布性能回退时,mode 值为 NORMAL。 - 当发布端开启发布性能回退时,mode 值为 SIMULCAST。 @param reason 告警原因,参看 PerformanceAlarmReason{@link #PerformanceAlarmReason} @param data 性能回退相关数据,详见 SourceWantedData{@link #SourceWantedData}。
override
onPushPublicStreamResult(dynamic roomId, dynamic publicStreamId, dynamic error) FutureOr<void>
@deprecated since 3.60, use onMixedStreamEvent{@link #IRTCEngineEventHandler#onMixedStreamEvent} instead. @detail callback @author qipengxiang @brief WTN 流发布结果回调。
调用 startPushMixedStream{@link #RTCEngine#startPushMixedStream} 接口发布WTN 流后,启动结果通过此回调方法通知用户。 @param roomId 发布WTN 流的房间 ID @param publicStreamId WTN 流 ID @param error WTN 流发布结果状态码。详见 PublicStreamErrorCode{@link #PublicStreamErrorCode}。
override
onRecordingProgressUpdate(dynamic videoSource, dynamic progress, dynamic info) FutureOr<void>
@detail callback @author wangzhanqiang @brief 本地录制进度回调。
该回调由 startFileRecording{@link #RTCEngine#startFileRecording} 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。 @param videoSource 预留参数。 @param progress 录制进度,参看 RecordingProgress{@link #RecordingProgress} @param info 录制文件的详细信息,参看 RecordingInfo{@link #RecordingInfo}
override
onRecordingStateUpdate(dynamic videoSource, dynamic state, dynamic errorCode, dynamic info) FutureOr<void>
@detail callback @author wangzhanqiang @brief 获取本地录制状态回调。
该回调由 startFileRecording{@link #RTCEngine#startFileRecording} 或 stopFileRecording{@link #RTCEngine#stopFileRecording} 触发。 @param videoSource 预留参数。 @param state 录制状态,参看 RecordingState{@link #RecordingState} @param errorCode 录制错误码,参看 RecordingErrorCode{@link #RecordingErrorCode} @param info 录制文件的详细信息,参看 RecordingInfo{@link #RecordingInfo}
override
onRemoteAudioPropertiesReport(List audioPropertiesInfos, dynamic totalRemoteVolume) FutureOr<void>
@detail callback @author gongzhengduo @brief 远端用户进房后,本地调用 enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport} ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的瞬时音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。 @param audioPropertiesInfos 远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo{@link #RemoteAudioPropertiesInfo}。 @param totalRemoteVolume 所有订阅的远端流混音后的音量,范围是 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。
override
onRemoteAudioPropertiesReportEx(List audioPropertiesInfos) FutureOr<void>
@hidden internal use only @detail callback @author lizheng
override
onRemoteAudioStateChanged(dynamic streamId, dynamic streamInfo, dynamic state, dynamic reason) FutureOr<void>
@detail callback @author zhangyuanyuan.0101 @brief 用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param state 远端音频流状态,详见 RemoteAudioState{@link #RemoteAudioState} @param reason 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason{@link #RemoteAudioStateChangeReason}
override
onRemoteSnapshotTakenToFile(dynamic streamId, dynamic streamInfo, dynamic filePath, dynamic width, dynamic height, dynamic errorCode, dynamic taskId) FutureOr<void>
@detail callback @valid since 3.60. @brief 调用 takeRemoteSnapshotToFile{@link #RTCEngine#takeRemoteSnapshotToFile} 截取视频画面时,会收到此回调报告截图是否成功,以及截取的图片信息。 @param streamId 被截图的视频流 ID。 @param streamInfo 被截图的视频流信息,参看 StreamInfo{@link #StreamInfo}。 @param filePath 截图文件的保存路径。 @param width 截图图像的宽度。单位:像素。 @param height 截图图像的高度。单位:像素。 @param errorCode 截图错误码。参看 SnapshotErrorCode{@link #SnapshotErrorCode}。 @param taskId 截图任务的编号。和 takeRemoteSnapshotToFile{@link #RTCEngine#takeRemoteSnapshotToFile} 的返回值一致。
override
onRemoteVideoSizeChanged(dynamic streamId, dynamic streamInfo, dynamic frameInfo) FutureOr<void>
@detail callback @author zhushufan.ref @brief 远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param frameInfo 视频帧信息,参看 VideoFrameInfo{@link #VideoFrameInfo}
override
onRemoteVideoStateChanged(dynamic streamId, dynamic streamInfo, dynamic videoState, dynamic videoStateReason) FutureOr<void>
@detail callback @author shenpengliang @brief 远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param videoState 远端视频流状态,参看 RemoteVideoState{@link #RemoteVideoState} @param videoStateReason 远端视频流状态改变原因,参看 RemoteVideoStateChangeReason{@link #RemoteVideoStateChangeReason} @note 本回调仅适用于主流,不适用于屏幕流。
override
onRemoteVideoSuperResolutionModeChanged(dynamic streamId, dynamic streamInfo, dynamic mode, dynamic reason) FutureOr<void>
@hidden for internal use only @valid since 3.54 @detail callback @author yinkaisheng @brief 远端视频流的超分状态发生改变时,房间内订阅此流的用户会收到该回调。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param mode 超分模式,参看 VideoSuperResolutionMode{@link #VideoSuperResolutionMode}。 @param reason 超分模式改变原因,参看 VideoSuperResolutionModeChangedReason{@link #VideoSuperResolutionModeChangedReason}。
override
onSEIMessageReceived(dynamic streamId, dynamic streamInfo, dynamic message) FutureOr<void>
@detail callback @author wangzhanqiang @brief 收到通过调用 sendSEIMessage{@link #RTCEngine#sendSEIMessage} 发送带有 SEI 消息的视频帧时,收到此回调。 @param streamId 包含 SEI 发送者的流 ID @param streamInfo 包含 SEI 发送者的流信息, 详见 StreamInfo{@link #StreamInfo} @param message 收到的 SEI 消息内容
override
onSEIStreamUpdate(dynamic streamId, dynamic streamInfo, dynamic event) FutureOr<void>
@detail callback @author wangzhanqiang @brief 黑帧视频流发布状态回调。
在语音通话场景下,本地用户调用 sendSEIMessage{@link #RTCEngine#sendSEIMessage} 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过该回调通知远端用户。
你可以通过此回调判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。 @param streamId 远端流 ID @param streamInfo 远端流信息,参看 StreamInfo{@link #StreamInfo}。 @param event 黑帧视频流状态,参看 SEIStreamUpdateEvent{@link #SEIStreamUpdateEvent}
override
onServerMessageSendResult(dynamic msgid, dynamic error, dynamic message) FutureOr<void>
@detail callback @author hanchenchen.c @brief 给应用服务器发送消息的回调。 @param msgid 本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。 @param error 消息发送结果,详见 UserMessageSendResult{@link #UserMessageSendResult}。 @param message 应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。消息不超过 64 KB。 @note 本回调为异步回调。当调用 sendServerMessage{@link #RTCEngine#sendServerMessage} 或 sendServerBinaryMessage{@link #RTCEngine#sendServerBinaryMessage} 接口发送消息后,会收到此回调。
override
onServerParamsSetResult(dynamic error) FutureOr<void>
@detail callback @author hanchenchen.c @brief 设置应用服务器参数的返回结果 @param error
设置结果
- 返回 200,设置成功 - 返回其他,设置失败,详见 UserMessageSendResult{@link #UserMessageSendResult} @note 调用 setServerParams{@link #RTCEngine#setServerParams} 后,会收到此回调。
override
onSimulcastSubscribeFallback(dynamic streamId, dynamic streamInfo, dynamic event) FutureOr<void>
@detail callback @author wangfujun @region 音视频回退 @brief 音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。 @param streamId 流 ID @param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo} @param event 音视频流发生变化的信息。参看 RemoteStreamSwitch{@link #RemoteStreamSwitch}。
override
onSingleStreamEvent(dynamic taskId, dynamic event, dynamic error) FutureOr<void>
@valid since 3.60. @detail callback @author lizheng @brief 单流转推 CDN 状态回调 @param taskId 任务 ID @param event 任务状态, 参看 SingleStreamTaskEvent{@link #SingleStreamTaskEvent} @param error 错误码,参看 SingleStreamTaskErrorCode{@link #SingleStreamTaskErrorCode}
override
onStreamSyncInfoReceived(dynamic streamId, dynamic streamInfo, dynamic streamType, dynamic data) FutureOr<void>
@detail callback @author wangjunzheng @brief 音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo{@link #RTCEngine#sendStreamSyncInfo} 发送音频流同步消息后,收到远端发送的音频流同步信息。 @param streamId 远端流 ID @param streamInfo 远端流信息,详见 StreamInfo{@link #StreamInfo} @param streamType 媒体流类型,详见 SyncInfoStreamType{@link #SyncInfoStreamType} @param data 消息内容。
override
onSysStats(dynamic stats) FutureOr<void>
@detail callback @author wangzhanqiang @brief 每 2 秒发生回调,通知当前 cpu,内存使用的信息。 @param stats cpu,内存信息。详见 SysStats{@link #SysStats} 数据类型。
override
onUserBinaryMessageReceivedOutsideRoom(dynamic msgid, dynamic uid, dynamic message) FutureOr<void>
@detail callback @author hanchenchen.c @brief 收到房间外用户调用 sendUserBinaryMessageOutsideRoom{@link #RTCEngine#sendUserBinaryMessageOutsideRoom} 发来的二进制消息时,会收到此回调。 @param msgid 消息编号。 @param uid 消息发送者 ID。 @param message 收到的二进制消息内容。
override
onUserMessageReceivedOutsideRoom(dynamic msgid, dynamic uid, dynamic message) FutureOr<void>
@detail callback @author hanchenchen.c @brief 收到房间外用户调用 sendUserMessageOutsideRoom{@link #RTCEngine#sendUserMessageOutsideRoom} 发来的文本消息时,会收到此回调。 @param msgid 消息编号。 @param uid 消息发送者 ID。 @param message 收到的文本消息内容。
override
onUserMessageSendResultOutsideRoom(dynamic msgid, dynamic error) FutureOr<void>
@detail callback @author hanchenchen.c @brief 给房间外指定的用户发送消息的结果回调。
当调用 sendUserMessageOutsideRoom{@link #RTCEngine#sendUserMessageOutsideRoom} 或 sendUserBinaryMessageOutsideRoom{@link #RTCEngine#sendUserBinaryMessageOutsideRoom} 发送消息后,会收到此回调。 @param msgid 消息 ID。
所有的 P2P 和 P2Server 消息共用一个 ID 序列。 @param error 消息发送结果。详见 UserMessageSendResult{@link #UserMessageSendResult}。
override
onUserStartAudioCapture(dynamic streamId, dynamic streamInfo) FutureOr<void>
@detail callback @author dixing @brief 房间内的用户调用 startAudioCapture{@link #RTCEngine#startAudioCapture} 开启音频采集时,房间内其他用户会收到此回调。 @param streamId 开启音频采集的远端流 ID @param streamInfo 开启音频采集的远端流信息,详见 StreamInfo{@link #StreamInfo}
override
onUserStartVideoCapture(dynamic streamId, dynamic streamInfo) FutureOr<void>
@detail callback @author liuyangyang @brief 房间内的可见用户调用 startVideoCapture{@link #RTCEngine#startVideoCapture} 开启内部视频采集时,房间内其他用户会收到此回调。 @param streamId 视频流 ID @param streamInfo 视频流信息,详见 StreamInfo{@link #StreamInfo}。
override
onUserStopAudioCapture(dynamic streamId, dynamic streamInfo) FutureOr<void>
@detail callback @author dixing @brief 房间内的用户调用 stopAudioCapture{@link #RTCEngine#stopAudioCapture} 关闭音频采集时,房间内其他用户会收到此回调。 @param streamId 流 ID @param streamInfo 流信息,详见 StreamInfo{@link #StreamInfo}
override
onUserStopVideoCapture(dynamic streamId, dynamic streamInfo) FutureOr<void>
@detail callback @author liuyangyang @brief 房间内的可见用户调用 stopVideoCapture{@link #RTCEngine#stopVideoCapture} 关闭内部视频采集时,房间内其他用户会收到此回调。
若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。 @param streamId 视频流 ID @param streamInfo 视频流信息,详见 StreamInfo{@link #StreamInfo}。
override
onVideoDenoiseModeChanged(dynamic mode, dynamic reason) FutureOr<void>
@hidden for internal use only @valid since 3.54 @detail callback @author Yujianli @brief 降噪模式状态变更回调。当降噪模式的运行状态发生改变,SDK 会触发该回调,提示用户降噪模式改变后的运行状态及状态发生改变的原因。 @param mode 视频降噪模式,参看 VideoDenoiseMode{@link #VideoDenoiseMode}。 @param reason 视频降噪模式改变的原因,参看 VideoDenoiseModeChangedReason{@link #VideoDenoiseModeChangedReason}。
override
onVideoDeviceStateChanged(dynamic deviceID, dynamic deviceType, dynamic deviceState, dynamic deviceError) FutureOr<void>
@detail callback @author liuyangyang @brief 视频设备状态回调。提示摄像头视频采集、屏幕视频采集等媒体设备的状态。 @param deviceID 设备 ID @param deviceType 设备类型,详见 VideoDeviceType{@link #VideoDeviceType}。 @param deviceState 设备状态,详见 MediaDeviceState{@link #MediaDeviceState}。 @param deviceError 设备错误类型,详见 MediaDeviceError{@link #MediaDeviceError}。
override
onVideoDeviceWarning(dynamic deviceID, dynamic deviceType, dynamic deviceWarning) FutureOr<void>
@detail callback @author liuyangyang @brief 视频设备警告回调,包括视频采集等设备。 @param deviceID 设备 ID @param deviceType 参看 VideoDeviceType{@link #VideoDeviceType} @param deviceWarning 参看 MediaDeviceWarning{@link #MediaDeviceWarning}
override
onVideoFramePlayStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state) FutureOr<void>
@detail callback @author wangfujun @brief 远端视频流的首帧播放状态改变时,收到此回调。 @param streamId 流 ID @param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo} @param user 用户信息,参看 RtcUser{@link #RtcUser} @param state 首帧播放状态,详见 FirstFramePlayState{@link #FirstFramePlayState}
override
onVideoFrameSendStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state) FutureOr<void>
@detail callback @author wangfujun @brief 视频首帧发送状态发生改变时,收到此回调。 @param streamId 流 ID @param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo} @param user 用户信息,参看 RtcUser{@link #RtcUser} @param state 首帧发送状态,详见 FirstFrameSendState{@link #FirstFrameSendState}
override
onWarning(dynamic warn) FutureOr<void>
@detail callback @author panjian.fishing @brief 发生警告回调。
SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。 @param warn 警告代码,参见 WarningCode{@link #WarningCode}
override
registerEvent(String name, dynamic method) → void
inherited
sendInstanceGet<T>(String property) Future<T>
Get instance property
inherited
sendInstancePropertiesGet(dynamic nativeClass) Future<Map<String, dynamic>>
Get instance properties
inherited
sendInstanceSet(String property, dynamic value) Future<void>
Set instance property
inherited
toString() String
A string representation of this object.
inherited
updateInstance(dynamic instance) → void
inherited
updateResource(NativeResource resource) → void
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited