IRTCEngineEventHandler class
- Inheritance
-
- Object
- NativeClass
- NativeObserverClass
- IRTCEngineEventHandler
- Implementers
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(String roomId, String uid)
→ FutureOr<void>
-
@detail callback
@author gongzhengduo
@brief 调用 enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport} 后,根据设置的
AudioPropertiesConfig.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。
@param roomId 房间 ID
@param uid 最活跃用户(ActiveSpeaker)的用户 ID
-
onAudioDeviceStateChanged(String deviceID, AudioDeviceType deviceType, MediaDeviceState deviceState, MediaDeviceError 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}。
-
onAudioDeviceWarning(String deviceID, AudioDeviceType deviceType, MediaDeviceWarning deviceWarning)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief 音频设备警告回调。音频设备包括音频采集设备、音频渲染设备等。
@param deviceID 设备 ID
@param deviceType 参看 AudioDeviceType{@link #AudioDeviceType}
@param deviceWarning 参看 MediaDeviceWarning{@link #MediaDeviceWarning}
-
onAudioDumpStateChanged(AudioDumpStatus status)
→ FutureOr<void>
-
@hidden for internal use only
@detail callback
@author songxiaomeng.19
@brief 音频 dump 状态改变回调
@param status 音频 dump 状态,参见 AudioDumpStatus{@link #AudioDumpStatus}
@note 本回调用于内部排查音质相关异常问题,开发者无需关注。
-
onAudioFramePlayStateChanged(String streamId, StreamInfo streamInfo, RtcUser user, FirstFramePlayState 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}
-
onAudioFrameSendStateChanged(String streamId, StreamInfo streamInfo, RtcUser user, FirstFrameSendState 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}
-
onAudioMixingPlayingProgress(int mixId, long progress)
→ FutureOr<void>
-
@detail callback
@author songxiaomeng.19
@brief 混音音频文件播放进度回调
@param mixId 混音 ID
@param progress 当前混音音频文件播放进度,单位毫秒
@note 调用 setAudioMixingProgressInterval 将时间间隔设为大于 0 的值后,或调用 startAudioMixing 将 AudioMixingConfig 中的时间间隔设为大于 0 的值后,SDK 会按照设置的时间间隔回调该事件。
-
onAudioPlaybackDeviceTestVolume(int volume)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief 回调音频设备测试时的播放音量
@param volume 音频设备测试播放音量。取值范围:
0,255
@note 调用 startAudioPlaybackDeviceTest{@link #IRTCAudioDeviceManager#startAudioPlaybackDeviceTest} 或 startAudioDeviceRecordTest{@link #IRTCAudioDeviceManager#startAudioDeviceRecordTest},开始播放音频文件或录音时,将开启该回调。本回调为周期性回调,回调周期由上述接口的 interval 参数指定。
-
onAudioRecordingStateUpdate(AudioRecordingState state, AudioRecordingErrorCode 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}
-
onAudioRouteChanged(AudioRoute route)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief 音频播放路由变化时,收到该回调。
@param route 新的音频播放路由,详见 AudioRoute{@link #AudioRoute}
@note 插拔音频外设,或调用 setAudioRoute{@link #RTCEngine#setAudioRoute} 都可能触发音频路由切换,详见移动端设置音频路由 。
-
onCloudProxyConnected(int interval)
→ FutureOr<void>
-
@detail callback
@author daining.nemo
@brief 调用 startCloudProxy{@link #RTCEngine#startCloudProxy} 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
@param interval 从开启云代理到连接成功经过的时间,单位为 ms
-
onConnectionStateChanged(ConnectionState state)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
@param state
当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState{@link #ConnectionState}
@param reason
引起信令服务器连接状态发生改变的原因,目前未启用固定为 -1 。
@note 更多信息参见 连接状态提示。
-
onEchoTestResult(EchoTestResult result)
→ FutureOr<void>
-
@detail callback
@region 网络管理
@author qipengxiang
@brief 关于音视频回路测试结果的回调。
@param result 测试结果,参看 EchoTestResult{@link #EchoTestResult}
@note 该回调触发的时机包括:
- 检测过程中采集设备发生错误时;
- 检测成功后;
- 非设备原因导致检测过程中未接收到音/视频回放,停止检测后。
-
onEffectError(EffectErrorType error, String msg)
→ FutureOr<void>
-
@hidden internal use only
@detail callback
@author wangqianqian.1104
@brief 当特效设置失败时,收到此回调。
@param error 特效错误类型。参看 EffectErrorType{@link #EffectErrorType}。
@param msg 错误信息。
-
onError(ErrorCode err)
→ FutureOr<void>
-
@detail callback
@author panjian.fishing
@brief 发生错误回调。
SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。
你可能需要干预.
@param err 错误代码,详情定义见: ErrorCode{@link #ErrorCode}
-
onExperimentalCallback(String param)
→ FutureOr<void>
-
@hidden internal use only
@valid since 3.60.
@detail callback
@author hegangjie
@brief 试验性接口回调
@param param 回调内容(JSON string)
-
onExtensionAccessError(String extensionName, String msg)
→ FutureOr<void>
-
@valid since 3.52
@detail callback
@author zhanyunqiao
@brief 当访问插件失败时,收到此回调。
RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。
@param extensionName 插件名字
@param msg 失败说明
-
onExternalScreenFrameUpdate(FrameUpdateInfo info)
→ FutureOr<void>
-
@hidden
@detail callback
@author zhoubohui
@brief 外部采集时,调用 setOriginalScreenVideoInfo 设置屏幕或窗口大小改变前的分辨率后,若屏幕采集模式为智能模式,你将收到此回调,根据 RTC 智能决策合适的帧率和分辨率积(宽高)重新采集。
@param info RTC 智能决策后合适的帧率和分辨率积(宽高)。参看 FrameUpdateInfo{@link #FrameUpdateInfo}。
-
onFirstLocalAudioFrame(Map audioSource)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief 发布音频流时,采集到第一帧音频帧,收到该回调。
@param audioSource 预留参数
@note 如果发布音频流时,未开启本地音频采集,SDK 会推送静音帧,也会收到此回调。
-
onFirstLocalVideoFrameCaptured(Map videoSource, VideoFrameInfo 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} 在本地渲染。
-
onFirstRemoteAudioFrame(String streamId, StreamInfo streamInfo)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief 订阅端接收并解码远端音频流首帧时,收到此回调。包含以下情况:
1. 发布端发布音频,包含首次发布和取消后再次发布。
2. 发布端关闭音频采集后,再次打开采集。使用外部源时,停止推流后再次推流。
3. 发布端发布音频后,订阅端取消订阅音频后,又再次订阅音频。
@param streamId 远端流 ID
@param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo}
@note
- 用户刚收到房间内订阅的每一路音频流时,都会收到该回调。
- 摄像头流、屏幕流,内部采集、外部源、自动订阅和手动订阅的音频流,都符合上述策略。
-
onFirstRemoteVideoFrameDecoded(String streamId, StreamInfo streamInfo, VideoFrameInfo 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
- 用户刚收到房间内订阅的每一路视频流时,都会收到该回调。
- 摄像头流、屏幕流,内部采集、外部源,自动订阅和手动订阅的视频流,都符合上述策略。
-
onFirstRemoteVideoFrameRendered(String streamId, StreamInfo streamInfo, VideoFrameInfo 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 仅在采用内部渲染时,符合上述策略。
-
onGetPeerOnlineStatus(String peerUserId, UserOnlineStatus status)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 查询对端或本端用户登录状态的返回结果
@param peerUserId
需要查询的用户 ID
@param status
查询的用户登录状态
详见 UserOnlineStatus{@link #UserOnlineStatus}.
@note 必须先调用 getPeerOnlineStatus{@link #RTCEngine#getPeerOnlineStatus},才能收到此回调。
-
onHardwareEchoDetectionResult(HardwareEchoDetectionResult 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。
-
onLicenseWillExpire(int days)
→ FutureOr<void>
-
@hidden internal use only
@detail callback
@author wangyu.1705
@brief license 过期时间提醒
@param days 即将过期剩余天数
-
onLocalAudioPropertiesReport(Array<LocalAudioPropertiesInfo> audioPropertiesInfos)
→ FutureOr<void>
-
@detail callback
@author wangjunzheng
@brief 调用 enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport} 后,你会周期性地收到此回调,了解本地音频的瞬时相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频,屏幕音频和本地混音音频信息。
@param audioPropertiesInfos 本地音频信息,详见 LocalAudioPropertiesInfo{@link #LocalAudioPropertiesInfo} 。
-
onLocalAudioStateChanged(Map audioSource, LocalAudioStreamState state, LocalAudioStreamError error)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief 本地音频流的状态发生改变时,收到此回调。
@param audioSource 预留参数
@param state 本地音频设备的状态,详见 LocalAudioStreamState{@link #LocalAudioStreamState}
@param error 本地音频流状态改变时的错误码,详见 LocalAudioStreamError{@link #LocalAudioStreamError}
-
onLocalProxyStateChanged(LocalProxyType localProxyType, LocalProxyState localProxyState, LocalProxyError 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}。
-
onLocalVideoSizeChanged(Map videoSource, VideoFrameInfo frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhushufan.ref
@brief 本地预览视频大小或旋转信息发生改变时,收到此回调。
@param videoSource 预留参数。
@param frameInfo 视频帧信息,参看 VideoFrameInfo{@link #VideoFrameInfo}
-
onLocalVideoStateChanged(Map videoSource, LocalVideoStreamState state, LocalVideoStreamError error)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief 本地视频流的状态发生改变时,收到该事件。
@param videoSource 预留参数
@param state 本地视频流状态,参看 LocalVideoStreamState{@link #LocalVideoStreamState}
@param error 本地视频状态改变时的错误码,参看 LocalVideoStreamError{@link #LocalVideoStreamError}
-
onLoginResult(String uid, LoginErrorCode errorCode, int 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} 后,会收到此回调。
-
onLogout(LogoutReason reason)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 登出结果回调
@param reason 用户登出的原因,参看 LogoutReason{@link #LogoutReason}
@note 在以下两种情况下会收到此回调:调用 logout{@link #RTCEngine#logout} 接口主动退出;或其他用户以相同 UserId 进行
login 导致本地用户被动登出。
-
onLogReport(String logType, dynamic logContent)
→ FutureOr<void>
-
@detail callback
@author chenweiming.push
@brief 上报日志时回调该事件。
@param logType
日志类型。
@param logContent
日志内容。
-
onMixedStreamEvent(MixedStreamTaskInfo info, MixedStreamTaskEvent event, MixedStreamTaskErrorCode error)
→ FutureOr<void>
-
@valid since 3.60. 自 3.60 起,该回调替代了
onStreamMixingEvent 和 onPushPublicStreamResult 方法来实现下述功能。如果你已升级至 3.60 及以上版本,并且仍在使用这两个方法,请迁移到此回调。
@detail callback
@author lizheng
@brief 合流转推 CDN / WTN 流状态回调
@param info 任务详情,参看 MixedStreamTaskInfo{@link #MixedStreamTaskInfo}。
@param event 任务事件,参看 MixedStreamTaskEvent{@link #MixedStreamTaskEvent}。
@param error 任务错误码,参看 MixedStreamTaskErrorCode{@link #MixedStreamTaskErrorCode}
-
onNetworkDetectionResult(NetworkDetectionLinkType type, NetworkQuality quality, int rtt, double lostRate, int bitrate, int 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
-
onNetworkDetectionStopped(NetworkDetectionStopReason reason)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 通话前网络探测结束
以下情况将停止探测并收到本一次本回调:
1. 当调用 stopNetworkDetection{@link #RTCEngine#stopNetworkDetection} 接口停止探测后,会收到一次该回调;
2. 当收到远端/本端音频首帧后,停止探测;
3. 当探测超过 3 分钟后,停止探测;
4. 当探测链路断开一定时间之后,停止探测。
@param reason
停止探测的原因类型,参考 NetworkDetectionStopReason{@link #NetworkDetectionStopReason}
-
onNetworkTimeSynchronized()
→ FutureOr<void>
-
@detail callback
@author songxiaomeng.19
@brief 首次调用 getNetworkTimeInfo{@link #RTCEngine#getNetworkTimeInfo} 后,SDK 内部启动网络时间同步,同步完成时会触发此回调。
-
onNetworkTypeChanged(NetworkType 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 移动网络
-
onPerformanceAlarms(String streamId, StreamInfo streamInfo, PerformanceAlarmMode mode, PerformanceAlarmReason reason, SourceWantedData 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}。
-
onPushPublicStreamResult(String roomId, String publicStreamId, PublicStreamErrorCode 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}。
-
onRecordingProgressUpdate(Map videoSource, RecordingProgress progress, RecordingInfo info)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief 本地录制进度回调。
该回调由 startFileRecording{@link #RTCEngine#startFileRecording} 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
@param videoSource 预留参数。
@param progress 录制进度,参看 RecordingProgress{@link #RecordingProgress}
@param info 录制文件的详细信息,参看 RecordingInfo{@link #RecordingInfo}
-
onRecordingStateUpdate(Map videoSource, RecordingState state, RecordingErrorCode errorCode, RecordingInfo 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}
-
onRemoteAudioPropertiesReport(Array<RemoteAudioPropertiesInfo> audioPropertiesInfos, int 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 为高音量。
-
onRemoteAudioPropertiesReportEx(Array<RemoteAudioPropertiesInfo> audioPropertiesInfos)
→ FutureOr<void>
-
@hidden internal use only
@detail callback
@author lizheng
-
onRemoteAudioStateChanged(String streamId, StreamInfo streamInfo, RemoteAudioState state, RemoteAudioStateChangeReason 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}
-
onRemoteSnapshotTakenToFile(String streamId, StreamInfo streamInfo, String filePath, int width, int height, SnapshotErrorCode errorCode, long 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} 的返回值一致。
-
onRemoteVideoSizeChanged(String streamId, StreamInfo streamInfo, VideoFrameInfo frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhushufan.ref
@brief 远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
@param streamId 远端流 ID
@param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo}
@param frameInfo 视频帧信息,参看 VideoFrameInfo{@link #VideoFrameInfo}
-
onRemoteVideoStateChanged(String streamId, StreamInfo streamInfo, RemoteVideoState videoState, RemoteVideoStateChangeReason 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 本回调仅适用于主流,不适用于屏幕流。
-
onRemoteVideoSuperResolutionModeChanged(String streamId, StreamInfo streamInfo, VideoSuperResolutionMode mode, VideoSuperResolutionModeChangedReason 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}。
-
onSEIMessageReceived(String streamId, StreamInfo streamInfo, Uint8List 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 消息内容
-
onSEIStreamUpdate(String streamId, StreamInfo streamInfo, SEIStreamUpdateEvent 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}
-
onServerMessageSendResult(long msgid, UserMessageSendResult error, Uint8List 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} 接口发送消息后,会收到此回调。
-
onServerParamsSetResult(int error)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 设置应用服务器参数的返回结果
@param error
设置结果
- 返回 200,设置成功
- 返回其他,设置失败,详见 UserMessageSendResult{@link #UserMessageSendResult}
@note 调用 setServerParams{@link #RTCEngine#setServerParams} 后,会收到此回调。
-
onSimulcastSubscribeFallback(String streamId, StreamInfo streamInfo, RemoteStreamSwitch event)
→ FutureOr<void>
-
@detail callback
@author wangfujun
@region 音视频回退
@brief 音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。
@param streamId 流 ID
@param streamInfo 流信息,参看 StreamInfo{@link #StreamInfo}
@param event 音视频流发生变化的信息。参看 RemoteStreamSwitch{@link #RemoteStreamSwitch}。
-
onSingleStreamEvent(String taskId, SingleStreamTaskEvent event, SingleStreamTaskErrorCode 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}
-
onStreamSyncInfoReceived(String streamId, StreamInfo streamInfo, SyncInfoStreamType streamType, Uint8List 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 消息内容。
-
onSysStats(SysStats stats)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief 每 2 秒发生回调,通知当前 cpu,内存使用的信息。
@param stats cpu,内存信息。详见 SysStats{@link #SysStats} 数据类型。
-
onUserBinaryMessageReceivedOutsideRoom(long msgid, String uid, Uint8List message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到房间外用户调用 sendUserBinaryMessageOutsideRoom{@link #RTCEngine#sendUserBinaryMessageOutsideRoom} 发来的二进制消息时,会收到此回调。
@param msgid 消息编号。
@param uid 消息发送者 ID。
@param message 收到的二进制消息内容。
-
onUserMessageReceivedOutsideRoom(long msgid, String uid, String message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到房间外用户调用 sendUserMessageOutsideRoom{@link #RTCEngine#sendUserMessageOutsideRoom} 发来的文本消息时,会收到此回调。
@param msgid 消息编号。
@param uid 消息发送者 ID。
@param message 收到的文本消息内容。
-
onUserMessageSendResultOutsideRoom(long msgid, UserMessageSendResult 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}。
-
onUserStartAudioCapture(String streamId, StreamInfo streamInfo)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief 房间内的用户调用 startAudioCapture{@link #RTCEngine#startAudioCapture} 开启音频采集时,房间内其他用户会收到此回调。
@param streamId 开启音频采集的远端流 ID
@param streamInfo 开启音频采集的远端流信息,详见 StreamInfo{@link #StreamInfo}
-
onUserStartVideoCapture(String streamId, StreamInfo streamInfo)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief 房间内的可见用户调用 startVideoCapture{@link #RTCEngine#startVideoCapture} 开启内部视频采集时,房间内其他用户会收到此回调。
@param streamId 视频流 ID
@param streamInfo 视频流信息,详见 StreamInfo{@link #StreamInfo}。
-
onUserStopAudioCapture(String streamId, StreamInfo streamInfo)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief 房间内的用户调用 stopAudioCapture{@link #RTCEngine#stopAudioCapture} 关闭音频采集时,房间内其他用户会收到此回调。
@param streamId 流 ID
@param streamInfo 流信息,详见 StreamInfo{@link #StreamInfo}
-
onUserStopVideoCapture(String streamId, StreamInfo streamInfo)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief 房间内的可见用户调用 stopVideoCapture{@link #RTCEngine#stopVideoCapture} 关闭内部视频采集时,房间内其他用户会收到此回调。
若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。
@param streamId 视频流 ID
@param streamInfo 视频流信息,详见 StreamInfo{@link #StreamInfo}。
-
onVideoDenoiseModeChanged(VideoDenoiseMode mode, VideoDenoiseModeChangedReason 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}。
-
onVideoDeviceStateChanged(String deviceID, VideoDeviceType deviceType, MediaDeviceState deviceState, MediaDeviceError 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}。
-
onVideoDeviceWarning(String deviceID, VideoDeviceType deviceType, MediaDeviceWarning deviceWarning)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief 视频设备警告回调,包括视频采集等设备。
@param deviceID 设备 ID
@param deviceType 参看 VideoDeviceType{@link #VideoDeviceType}
@param deviceWarning 参看 MediaDeviceWarning{@link #MediaDeviceWarning}
-
onVideoFramePlayStateChanged(String streamId, StreamInfo streamInfo, RtcUser user, FirstFramePlayState 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}
-
onVideoFrameSendStateChanged(String streamId, StreamInfo streamInfo, RtcUser user, FirstFrameSendState 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}
-
onWarning(WarningCode warn)
→ FutureOr<void>
-
@detail callback
@author panjian.fishing
@brief 发生警告回调。
SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。
@param warn 警告代码,参见 WarningCode{@link #WarningCode}
-
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