android_IRTCEngineEventHandler class
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 After calling enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport}, you will periodically receive this callback for the active speaker information.
@param roomId Room ID.
@param uid The user ID of the active speaker.
override
-
onAudioDeviceStateChanged(dynamic deviceID, dynamic deviceType, dynamic deviceState, dynamic deviceError)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief Audio device state callback, returns the state of audio capture and audio playback devices.
@param deviceID Device ID
@param deviceType Device type. See AudioDeviceType{@link #AudioDeviceType}.
@param deviceState Device state. See MediaDeviceState{@link #MediaDeviceState}.
@param deviceError Device error. See MediaDeviceError{@link #MediaDeviceError}.
override
-
onAudioDeviceWarning(dynamic deviceID, dynamic deviceType, dynamic deviceWarning)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief Audio device warning callback. The audio devices includes audio capture devices and audio rendering devices.
@param deviceID Device ID
@param deviceType See AudioDeviceType{@link #AudioDeviceType}
@param deviceWarning See MediaDeviceWarning{@link #MediaDeviceWarning}
override
-
onAudioDumpStateChanged(dynamic status)
→ FutureOr<void>
-
@hidden for internal use only
@detail callabck
@author songxiaomeng.19
@brief audio dump status change callback
@param status audio dump status, see AudioDumpStatus{@link #AudioDumpStatus}.
@note This callback is used to internally troubleshoot sound quality related exceptions, which developers need not pay attention to.
override
-
onAudioFramePlayStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state)
→ FutureOr<void>
-
@detail callback
@author wangjunzheng
@brief Triggered when the audio first frame play state changes.
@param streamId Stream ID.
@param streamInfo Stream information. See StreamInfo{@link #StreamInfo}.
@param user User information. See RtcUser{@link #RtcUser}.
@param state The first frame play state. See FirstFramePlayState{@link #FirstFramePlayState} for specific indications.
override
-
onAudioFrameSendStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state)
→ FutureOr<void>
-
@detail callback
@author wangjunzheng
@brief Triggered when the local audio first frame send state changes.
@param streamId Stream ID.
@param streamInfo Stream information. See StreamInfo{@link #StreamInfo}.
@param user User information. See RtcUser{@link #RtcUser}.
@param state The first frame send state. See FirstFrameSendState{@link #FirstFrameSendState} for specific indications.
override
-
onAudioMixingPlayingProgress(dynamic mixId, dynamic progress)
→ FutureOr<void>
-
@detail callback
@author songxiaomeng.19
@brief Callback for playback progress of mixed audio files
@param mixId ID of the mixing task
@param progress The current playback progress (ms) of the mixed audio file
@note After calling setAudioMixingProgressInterval to set the time interval to a value greater than 0, or calling startAudioMixing to set the time interval in AudioMixingConfigto a value greater than 0, the SDK will trigger the callback according to the set time interval.
override
-
onAudioPlaybackDeviceTestVolume(dynamic volume)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief Notification on the playing volume during the test for the local audio devices
@param volume Playing volume during the test for the local audio devices. The range is
0,255.
@note Start an audio-device test by calling startAudioPlaybackDeviceTest{@link #IRTCAudioDeviceManager#startAudioPlaybackDeviceTest} or startAudioDeviceRecordTest{@link #IRTCAudioDeviceManager#startAudioDeviceRecordTest} will register this callback for regular notification on playing volume. You can set the time interval between each callback by passing a proper value when calling the API above.
override
-
onAudioRecordingStateUpdate(dynamic state, dynamic errorCode)
→ FutureOr<void>
-
@detail callback
@author huangshouqin
@brief When calling startAudioRecording{@link #RTCEngine#startAudioRecording} or stopAudioRecording{@link #RTCEngine#stopAudioRecording} to change the recording status, receive the callback.
@param state See AudioRecordingState{@link #AudioRecordingState}.
@param errorCode See AudioRecordingErrorCode{@link #AudioRecordingErrorCode}.
override
-
onAudioRouteChanged(dynamic route)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief Receive the callback when the audio route changes.
@param route Current audio playback device. Refer to AudioRoute{@link #AudioRoute} for more information.
@note
- Either of the following actions will lead to audio route switching. See Set the Audio Route.
- Connecting/Disconnecting an audio device.
- Designating the other audio device by calling setAudioRoute{@link #RTCEngine#setAudioRoute}.
override
-
onCloudProxyConnected(dynamic interval)
→ FutureOr<void>
-
@detail callback
@brief Receives the callback when you call startCloudProxy{@link #RTCEngine#startCloudProxy} to start cloud proxy, and the SDK connects the proxy server successfully.
@param interval The interval in ms between starting cloud proxy and connects the cloud proxy server successfully.
override
-
onConnectionStateChanged(dynamic state)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Callback SDK and signaling server connection status related events. Callbacks the event when the network connection state of the SDK to the signaling server changes.
@param state
The current SDK and signaling server connection status. See ConnectionState{@link #ConnectionState}
@param reason
For a detailed definition of the cause of the signaling server connection state change, currently not enabled fixed to -1.
@note Refer to Getting Connection Status for more details.
override
-
onEchoTestResult(dynamic result)
→ FutureOr<void>
-
@detail callback
@author qipengxiang
@brief Callback about the call test result.
@param result Test result, see EchoTestResult{@link #EchoTestResult}.
@note The timing when this callback will be triggered is as follows:
- A device-related error occurred during the test;
- After a successful test;
- After stopping the test, provided that the audio/video playback was not received during the test due to non-device reasons.
override
-
onEffectError(dynamic error, dynamic msg)
→ FutureOr<void>
-
@hidden internal use only
@detail callback
@brief Effect failed.
@param error The error type of effect. Refer to EffectErrorType{@link #EffectErrorType} for details.
@param msg Error message.
override
-
onError(dynamic err)
→ FutureOr<void>
-
@detail callback
@author panjian.fishing
@brief Error callback occurred.
@param err BigInt, see: ErrorCode{@link #ErrorCode} for detailed definitions
@note Error callback occurred. This callback is triggered when a network or media-related error occurs during the
SDK runtime and cannot be automatically recovered and you may need to intervene.and you may need to intervene.
override
-
onExperimentalCallback(dynamic param)
→ FutureOr<void>
-
@valid since 3.60.
@detail callabck
@author hegangjie
@brief callback for experimental api
@param param Callback content (JSON string)
override
-
onExtensionAccessError(dynamic extensionName, dynamic msg)
→ FutureOr<void>
-
@valid since 3.52
@detail callback
@brief Failed to access the extension.
RTC SDK provides some features with extensions. Without implementing the extension, you cannot use the corresponding feature.
@param extensionName The name of extension.
@param msg Error message.
override
-
onExternalScreenFrameUpdate(dynamic info)
→ FutureOr<void>
-
@hidden
@detail callback
@author zhoubohui
@brief After calling setOriginalScreenVideoInfo to set the original width and height of the external shared-screen stream and setting the encoding mode to the automatic mode, you will receive this callback to re-capture the stream based on the recommended pixel and framerate by RTC.
@param info The recommended pixel and framerate by RTC. See FrameUpdateInfo{@link #FrameUpdateInfo}.
override
-
onFirstLocalAudioFrame(dynamic audioSource)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief Receive the callback when publishing local audio stream.
@param audioSource Reserved parameter
override
-
onFirstLocalVideoFrameCaptured(dynamic videoSource, dynamic frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhangzhenyu.samuel
@brief RTC SDK receives this callback when the first video frame or screen video frame capture is completed locally.
@param videoSource Reserved parameter.
@param frameInfo Video information. See VideoFrameInfo{@link #VideoFrameInfo}
@note For captured local video frames, you can call setLocalVideoCanvas{@link #RTCEngine#setLocalVideoCanvas} or setLocalVideoSink{@link #RTCEngine#setLocalVideoSink} to render locally.
override
-
onFirstRemoteAudioFrame(dynamic streamId, dynamic streamInfo)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief The subscriber will receive this callback when the first frame of the receiving audio stream begins to decode. The following situations are included:
1. The publisher publishes audio, including the initial publication and restart after cancellation.
2. After the publisher stops audio capture, they restart it. When using an external source, this involves stopping the stream and then streaming again.
3. After the publisher publishes audio, the subscriber cancels the subscription to audio and then re-subscribes to it.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo}
@note The callback will be received when the user has just received each audio stream subscribed to in the room.
override
-
onFirstRemoteVideoFrameDecoded(dynamic streamId, dynamic streamInfo, dynamic frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhushufan.ref
@brief The subscriber will receive this callback when the first frame of the receiving video stream begins to decode. The following situations are included:
1. The publisher publishes video, including the initial publication and restart after cancellation.
2. After the publisher stops video capture, they restart it. When using an external source, this involves stopping the stream and then streaming again.
3. After the publisher publishes video, the subscriber cancels the subscription to video and then re-subscribes to it.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information, see StreamInfo {@link #StreamInfo}
@param frameInfo Video Frame Information, see VideoFrameInfo {@link #VideoFrameInfo}
@note
- For main stream, after joining the room, the subscriber will receive this callback only when the publisher publishes video stream for the first time.
- For screen-sharing stream, the subscriber will receive this callback every time the publisher publishes or republishes the screen video stream.
override
-
onFirstRemoteVideoFrameRendered(dynamic streamId, dynamic streamInfo, dynamic frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhushufan.ref
@brief The subscriber will receive this callback when the first frame of the receiving video stream begins to render. The following situations are included:
1. The publisher publishes video for the first time.
2. In 1, the publisher cancels the video stream after publishing and publishes it again.
3. In 1, the publisher stops video capture after publishing and restarts it. (Or when using an external source, the stream is stopped and restarted again.)
4. In 1, the subscriber cancels the video stream and subscribes to it again. (The interface includes subscribeAllStreamsVideo{@link #RTCRoom-subscribeAllStreamsVideo}, pauseAllSubscribedStreamVideo{@link #RTCRoom#pauseAllSubscribedStreamVideo}.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo}
@param frameInfo Video Frame Information. See VideoFrameInfo{@link #VideoFrameInfo}
override
-
onGetPeerOnlineStatus(dynamic peerUserId, dynamic status)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief The return result of querying the login status of the peer or local user
@param peerUserId User ID
@param status
The login status of the user queried
See UserOnlineStatus{@link #UserOnlineStatus}.
@note You must first call getPeerOnlineStatus{@link #RTCEngine#getPeerOnlineStatus} To receive this callback.
override
-
onHardwareEchoDetectionResult(dynamic hardwareEchoDetectionResult)
→ FutureOr<void>
-
@detail callback
@brief Callback that notifies you the result of the echo detection before a call
@param hardwareEchoDetectionResult Refer to HardwareEchoDetectionResult{@link #HardwareEchoDetectionResult} for more details.
@note
- This callback notifies you the result of the echo detection by calling startHardwareEchoDetection{@link #RTCEngine#startHardwareEchoDetection}.
- We recommend to call stopHardwareEchoDetection{@link #RTCEngine#stopHardwareEchoDetection} to stop the detection.
- Listen to
MEDIA_DEVICE_WARNING_DETECT_LEAK_ECHO in the callback of onAudioDeviceWarning{@link #IRTCEngineEventHandler#onAudioDeviceWarning} for the echo issue during a call.
override
-
onLicenseWillExpire(dynamic days)
→ FutureOr<void>
-
@hidden internal use only
@detail callback
@author wangyu.1705
@brief License expiration time reminder
@param days Expiration time in days
override
-
onLocalAudioPropertiesReport(List audioPropertiesInfos)
→ FutureOr<void>
-
@detail callback
@author gongzhengduo
@brief After calling enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport}, you will periodically receive this callback for the instantaneous information about local audio.
Local audio includes the microphone audio, the screen audio captured using RTC SDK internal mechanisms, and locally mixing audio.
@param audioPropertiesInfos See LocalAudioPropertiesInfo{@link #LocalAudioPropertiesInfo}.
override
-
onLocalAudioStateChanged(dynamic audioSource, dynamic state, dynamic error)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief When the state of the local audio stream changes, the callback notifies the current local audio stream state.
@param audioSource Reserved parameter
@param state The status of the local audio device. See LocalAudioStreamState{@link #LocalAudioStreamState}
@param error The error code when the state of the local audio stream changes. See LocalAudioStreamError{@link #LocalAudioStreamError}
override
-
onLocalProxyStateChanged(dynamic localProxyType, dynamic localProxyState, dynamic localProxyError)
→ FutureOr<void>
-
@detail callback
@author keshixing.rtc
@brief Callback on local proxy connection. After calling setLocalProxy{@link #RTCEngine#setLocalProxy} to set local proxies, you will receive this callback that informs you of the states of local proxy connection.
@param localProxyType The types of local proxies. Refer to LocalProxyType{@link #LocalProxyType} for details.
@param localProxyState The states of local proxy connection. Refer to LocalProxyState{@link #LocalProxyState} for details.
@param localProxyError The errors of local proxy connection. Refer to LocalProxyError{@link #LocalProxyError} for details.
override
-
onLocalVideoSizeChanged(dynamic videoSource, dynamic frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhushufan.ref
@brief Callback triggered when the local preview video size or rotation information has changed.
@param videoSource Reserved parameter.
@param frameInfo Video frame information. See VideoFrameInfo{@link #VideoFrameInfo}
override
-
onLocalVideoStateChanged(dynamic videoSource, dynamic state, dynamic error)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief Receive this event when the state of the local video stream changes.
@param videoSource Reserved parameter
@param state Local video stream state. See LocalVideoStreamState{@link #LocalVideoStreamState}
@param error Error code when local video state changes. See LocalVideoStreamError{@link #LocalVideoStreamError}
override
-
onLoginResult(dynamic uid, dynamic errorCode, dynamic elapsed)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Login result callback
@param uid
Login user ID
@param errorCode
Login result
See LoginErrorCode{@link #LoginErrorCode}.
@param elapsed
The length of time it takes from calling the login{@link #RTCEngine#login} interface to return the result.
Is in ms.
@note This callback is received after login{@link #RTCEngine#login} is called
override
-
onLogout(dynamic reason)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Callback of logout result
@param reason It describes the reason why users log out. See LogoutReason{@link #LogoutReason}
@note You will receive this callback when calling logout{@link #RTCEngine#logout} or when the local user is kicked out because another user logs in with the same UserId.
override
-
onLogReport(dynamic logType, dynamic logContent)
→ FutureOr<void>
-
@detail callback
@author chenweiming.push
@brief Callback this event when logging is reported.
@param logType
Log type.
@param logContent
Log content.
override
-
onMixedStreamEvent(dynamic info, dynamic event, dynamic error)
→ FutureOr<void>
-
@valid since 3.60. Since version 3.60, this callback replaces the
onStreamMixingEvent and onPushPublicStreamResult methods for the functions described below. If you have upgraded to version 3.60 or later and are still using these methods, please migrate to this callback.
@detail callback
@author lizheng
@brief Reports events during pushing a mixed stream to CDN or a WTN stream.
@param info Task details, see MixedStreamTaskInfo{@link #MixedStreamTaskInfo}
@param event Stream mixing and pushing status, see MixedStreamTaskEvent{@link #MixedStreamTaskEvent}
@param error Errors occurring during the pushing process. See 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 Pre-call network detection result.
After successfully calling startNetworkDetection{@link #RTCEngine#startNetworkDetection}, you will receive this callback for the first time in 3s and every 2s thereafter.
@param type Identifies the network type as uplink/downlink.
@param quality Network quality, see NetworkQuality{@link #NetworkQuality}.
@param rtt Network RTT in ms.
@param lostRate Packet loss rate.
@param bitrate Network bandwidth in kbps.
@param jitter Network jitter in ms
override
-
onNetworkDetectionStopped(dynamic reason)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Network detection before the call ends
The following conditions will stop the detection and receive this callback:
1. The callback is received once after the stopNetworkDetection{@link #RTCEngine#stopNetworkDetection} interface is called to stop probing;
2. Upon receipt of the distal/local audio first frame, stop the probe; When the detection exceeds 3 minutes, stop detection;
4. When the detection link is disconnected for a certain time, stop detection.
Reason
@param reason
The type of reason to stop probing, refer to NetworkDetectionStopReason{@link #NetworkDetectionStopReason}
override
-
onNetworkTimeSynchronized()
→ FutureOr<void>
-
@detail callback
@author songxiaomeng.19
@brief After calling getNetworkTimeInfo{@link #RTCEngine#getNetworkTimeInfo} for the first time, the SDK starts network time synchronization internally. This callback will be triggered when the synchronization is completed.
override
-
onNetworkTypeChanged(dynamic type)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief SDK Current network connection type change callback. Callbacks the event when the current network connection type of the SDK changes.
@param type
Network type.
- -1: Unknown.
- 0: Disconnected.
- 1: LAN.
- 2: Wi-Fi (including hotspots).
- 3: 2G mobile network.
- 4: 3G mobile network.
- 5: 4G mobile network.
- 6: 5G mobile network.
override
-
onPerformanceAlarms(dynamic streamId, dynamic streamInfo, dynamic mode, dynamic reason, dynamic data)
→ FutureOr<void>
-
@detail callback
@author panjian.fishing
@brief When the publish performance fallback setPublishFallbackOption{@link #RTCEngine#setPublishFallbackOption} is not turned on locally, and when insufficient device performance is detected, this callback is received.
When the setPublishFallbackOption{@link #RTCEngine#setPublishFallbackOption} is locally turned on, ans when the publish performance fallback/recovery is caused due to device performance/network reasons, this callback is received.
@param streamId Stream ID
@param streamInfo Stream information, see StreamInfo{@link #StreamInfo}.
@param mode Indicates whether the release fallback function is turned on locally. See PerformanceAlarmMode{@link #PerformanceAlarmMode}
- When the publisher does not turn on the release performance fallback, the mode value is NORMAL.
- When the publisher turns on the release performance fallback, the mode value is SIMULCAST.
@param reason For alarm reasons. See PerformanceAlarmReason{@link #PerformanceAlarmReason}
@param data Performance fallback related data. See SourceWantedData{@link #SourceWantedData}.
override
-
onPushPublicStreamResult(dynamic roomId, dynamic publicStreamId, dynamic error)
→ FutureOr<void>
-
@deprecated since 3.60, use onMixedStreamEvent{@link #IRTCEngineEventHandler#onMixedStreamEvent} instead.
@hidden currently not available
@detail callback
@author qipengxiang
@brief Callback of the result of publishing the WTN stream
You will be informed of the result of publishing the WTN stream by this callback after calling startPushMixedStream{@link #RTCEngine#startPushMixedStream}.
@param roomId Room ID from which the WTN stream is published
@param publicStreamId ID of the WTN stream
@param error Code for the result of publishing the WTN stream. Refer to PublicStreamErrorCode{@link #PublicStreamErrorCode} for details.
override
-
onRecordingProgressUpdate(dynamic videoSource, dynamic progress, dynamic info)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief Local recording progress callback.
This callback is triggered by startFileRecording{@link #RTCEngine#startFileRecording}. When the recording state is normal, the system will prompt the recording progress through this callback every second.
@param videoSource Reserved parameter
@param progress Recording progress. See RecordingProgress{@link #RecordingProgress}
@param info Recorded file details. See RecordingInfo{@link #RecordingInfo}
override
-
onRecordingStateUpdate(dynamic videoSource, dynamic state, dynamic errorCode, dynamic info)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief Get a callback of the local recording status.
The callback is triggered by either startFileRecording{@link #RTCEngine#startFileRecording} or stopFileRecording{@link #RTCEngine#stopFileRecording}.
@param videoSource Reserved parameter
@param state Recording status. See RecordingState{@link #RecordingState}
@param errorCode Recording error code. See RecordingErrorCode{@link #RecordingErrorCode}
@param info Recording file details. See RecordingInfo{@link #RecordingInfo}
override
-
onRemoteAudioPropertiesReport(List audioPropertiesInfos, dynamic totalRemoteVolume)
→ FutureOr<void>
-
@detail callback
@author gongzhengduo
@brief After calling enableAudioPropertiesReport{@link #RTCEngine#enableAudioPropertiesReport}, you will periodically receive this callback for the instantaneous information about the subscribed remote audio streams.
The remote audio streams includes the microphone audio and screen audio collected using the RTC SDK internal mechanism/custom mechanism.
@param audioPropertiesInfos See RemoteAudioPropertiesInfo{@link #RemoteAudioPropertiesInfo}.
@param totalRemoteVolume The volume of the mixing of all the subscribed audio streams. The range is 0,255.
- 0,25 Is close to silent;
- 25,75 Is low volume;
- 76,204 Is medium volume;
- 205,255 Is high volume.
override
-
onRemoteAudioPropertiesReportEx(List audioPropertiesInfos)
→ FutureOr<void>
-
@hidden internal use only
@detail callback
override
-
onRemoteAudioStateChanged(dynamic streamId, dynamic streamInfo, dynamic state, dynamic reason)
→ FutureOr<void>
-
@detail callback
@author zhangyuanyuan.0101
@brief When the state of the audio stream from the remote user subscribes to changes, this callback will be received to understand the current state of the remote audio stream.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo}
@param state Remote Audio Stream Status. See RemoteAudioState{@link #RemoteAudioState}
@param reason Remote Audio Stream Status Change Reason. See 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 Triggered after calling takeRemoteSnapshotToFile{@link #RTCEngine#takeRemoteSnapshotToFile} to report whether the snapshot is taken successfully and provide details of the snapshot image.
@param streamId Information of the snapshotted video stream ID.
@param streamInfo Information of the snapshotted video stream. See StreamInfo{@link #StreamInfo}.
@param filePath The path where the snapshot file is saved.
@param width The width (px) of the snapshot image.
@param height The height (px) of the snapshot image.
@param errorCode The error code for the snapshot task. See SnapshotErrorCode{@link #SnapshotErrorCode} for specific indications.
@param taskId The index for the snapshot task, which matches the return value of takeRemoteSnapshotToFile{@link #RTCEngine#takeRemoteSnapshotToFile}.
override
-
onRemoteVideoSizeChanged(dynamic streamId, dynamic streamInfo, dynamic frameInfo)
→ FutureOr<void>
-
@detail callback
@author zhushufan.ref
@brief Users in the room who subscribe to this video stream receive this callback when the remote video size or rotation information changes.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo}
@param frameInfo Video Frame Information. See VideoFrameInfo{@link #VideoFrameInfo}
override
-
onRemoteVideoStateChanged(dynamic streamId, dynamic streamInfo, dynamic videoState, dynamic videoStateReason)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief When the state of a remote video stream changes, users in the room who subscribe to this stream receive the event.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo}
@param videoState Remote video stream status. See RemoteVideoState{@link #RemoteVideoState}
@param videoStateReason Remote video stream status change reason. See RemoteVideoStateChangeReason{@link #RemoteVideoStateChangeReason}
@note The callback works for video stream captured by the camera, not for screen stream.
override
-
onRemoteVideoSuperResolutionModeChanged(dynamic streamId, dynamic streamInfo, dynamic mode, dynamic reason)
→ FutureOr<void>
-
@hidden not available
@detail callback
@author yinkaisheng
@brief When the super resolution mode of a remote video stream changes, users in the room who subscribe to this stream will receive this callback.
@param streamId Remote stream ID
@param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo}
@param mode Super resolution mode. See VideoSuperResolutionMode{@link #VideoSuperResolutionMode}.
@param reason Remote video stream super resolution mode change reason. See VideoSuperResolutionModeChangedReason{@link #VideoSuperResolutionModeChangedReason}
override
-
onSEIMessageReceived(dynamic streamId, dynamic streamInfo, dynamic message)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief Receive this callback when you receive a video frame with a SEI message sent by calling sendSEIMessage{@link #RTCEngine#sendSEIMessage}
@param streamId Stream ID of the SEI sender
@param streamInfo Stream Information of the SEI sender. See StreamInfo{@link #StreamInfo}
@param message Received SEI message content
override
-
onSEIStreamUpdate(dynamic streamId, dynamic streamInfo, dynamic event)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief Callback about publishing status of the black frame video stream .
In a voice call scenario, when the local user calls sendSEIMessage{@link #RTCEngine#sendSEIMessage} to send SEI data with a black frame, the sending status of the stream is notified to the remote user through this callback.
You can tell from this callback that the video frame carrying SEI data is a black frame and thus not render that video frame.
@param streamId Remote stream ID
@param streamInfo Information about stream from the remote user, see StreamInfo{@link #StreamInfo}.
@param event State of the black frame video stream, see SEIStreamUpdateEvent{@link #SEIStreamUpdateEvent}.
override
-
onServerMessageSendResult(dynamic msgid, dynamic error, dynamic message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Receives the callback after sending the message to the application server successfully.
@param msgid The ID of this message
All P2P and P2Server messages share a single ID sequence.
@param error Message Sending Results. See UserMessageSendResult{@link #UserMessageSendResult}.
@param message The message returned in ACK when the application server receives HTTP request. The message should not exceed 64 KB.
@note This callback is asynchronous. You will receive this callback when you call sendServerMessage{@link #RTCEngine#sendServerMessage} or sendServerBinaryMessage{@link #RTCEngine#sendServerBinaryMessage} to send a message to your application server.
override
-
onServerParamsSetResult(dynamic error)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Set the return result of the application server parameter
@param error
- 200, set successfully
- != 200: Failure. Refer to UserMessageSendResult{@link #UserMessageSendResult} for details.
@note Receive this callback after calling setServerParams{@link #RTCEngine#setServerParams}.
override
-
onSimulcastSubscribeFallback(dynamic streamId, dynamic streamInfo, dynamic event)
→ FutureOr<void>
-
@detail callback
@author panjian.fishing
@brief When the simulcast subscribe fallback occurs, this callback is received.
@param streamId Stream ID.
@param streamInfo Stream information. See StreamInfo{@link #StreamInfo}.
@param event The information about the change of the simulcast subscribe. See RemoteStreamSwitch{@link #RemoteStreamSwitch} for specific indications.
override
-
onSingleStreamEvent(dynamic taskId, dynamic event, dynamic error)
→ FutureOr<void>
-
@valid since 3.60.
@detail callback
@author lizheng
@brief Reports events during pushing a single stream to CDN
@param taskId Task ID
@param event Stream pushing status, see SingleStreamTaskEvent{@link #SingleStreamTaskEvent}.
@param error Errors occurring during the pushing process. See SingleStreamTaskErrorCode{@link #SingleStreamTaskErrorCode}
override
-
onStreamSyncInfoReceived(dynamic streamId, dynamic streamInfo, dynamic streamType, dynamic data)
→ FutureOr<void>
-
@detail callback
@author wangjunzheng
@brief Audio stream synchronization information callback. You can use this callback to receive audio stream synchronization information sent remotely after the remote user calls sendStreamSyncInfo{@link #RTCEngine#sendStreamSyncInfo} to send an audio stream synchronization message.
@param streamId Remote stream ID
@param streamInfo Remote stream information. See StreamInfo{@link #StreamInfo}
@param streamType Media stream type. See SyncInfoStreamType{@link #SyncInfoStreamType}
@param data Message content.
override
-
onSysStats(dynamic stats)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief Callbacks occur every 2 seconds to inform the current CPU and memory usage information.
@param stats Cpu, memory information. See SysStats{@link #SysStats} data type for details.
override
-
onUserBinaryMessageReceivedOutsideRoom(dynamic msgid, dynamic uid, dynamic message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief > This callback will be deprecated in version 3.64. Please use onUserBinaryMessageReceivedOutsideRoom{@link #IRTCEngineEventHandler#onUserBinaryMessageReceivedOutsideRoom-2} instead.
@brief Receive this callback when you receive a binary message from an out-of-room user calling sendUserBinaryMessageOutsideRoom{@link #RTCEngine#sendUserBinaryMessageOutsideRoom}
@param uid User ID of the message sender.
@param message The content of the received binary message.
override
-
onUserMessageReceivedOutsideRoom(dynamic msgid, dynamic uid, dynamic message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief > This callback will be deprecated in version 3.64. Please use onUserMessageReceivedOutsideRoom{@link #IRTCEngineEventHandler#onUserMessageReceivedOutsideRoom-2} instead.
@brief Receive this callback when you receive a text message from an out-of-room user calling sendUserMessageOutsideRoom{@link #RTCEngine#sendUserMessageOutsideRoom}
@param uid User ID of the message sender.
@param message The content of the received text message.
override
-
onUserMessageSendResultOutsideRoom(dynamic msgid, dynamic error)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief Callback for the result of sending a message to a user outside the room.
Triggered after you call sendUserMessageOutsideRoom{@link #RTCEngine#sendUserMessageOutsideRoom} or sendUserBinaryMessageOutsideRoom{@link #RTCEngine#sendUserBinaryMessageOutsideRoom}.
@param msgid The ID of the message.
All P2P and P2Server messages share a single ID sequence.
@param error Message sending result. See UserMessageSendResult{@link #UserMessageSendResult}.
override
-
onUserStartAudioCapture(dynamic streamId, dynamic streamInfo)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief Users in the room will receive this callback when they call startAudioCapture{@link #RTCEngine#startAudioCapture} to turn on audio capture.
@param streamId The stream ID of the remote user who turns on audio capture
@param streamInfo Information of the remote user who turn on audio capture, see StreamInfo{@link #StreamInfo}
override
-
onUserStartVideoCapture(dynamic streamId, dynamic streamInfo)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief The remote clients in the room will be informed of the state change via this callback after the visible user starts video capture by calling startVideoCapture{@link #RTCEngine#startVideoCapture}.
@param streamId Video stream ID
@param streamInfo Video stream information, see StreamInfo{@link #StreamInfo}.
override
-
onUserStopAudioCapture(dynamic streamId, dynamic streamInfo)
→ FutureOr<void>
-
@detail callback
@author dixing
@brief Users in the room call stopAudioCapture{@link #RTCEngine#stopAudioCapture} when audio capture is turned off, other users in the room will receive this callback.
@param streamId Stream ID
@param streamInfo Stream information, see StreamInfo{@link #StreamInfo}
override
-
onUserStopVideoCapture(dynamic streamId, dynamic streamInfo)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief The remote clients in the room will be informed of the state change via this callback after the visible user stops video capture by calling stopVideoCapture{@link #RTCEngine#stopVideoCapture}.
If you don't start video capture before you publish video data, all visible user will receive this callback.
@param streamId Video stream ID
@param streamInfo Video stream information, see StreamInfo{@link #StreamInfo}.
override
-
onVideoDenoiseModeChanged(dynamic mode, dynamic reason)
→ FutureOr<void>
-
@hidden not available
@detail callback
@author Yujianli
@brief When the state of the video noise reduction mode changes, this callback will return the real state of the mode and the reasons for the changes.
@param mode Video noise reduction mode. Refer to VideoDenoiseMode{@link #VideoDenoiseMode} for more details.
@param reason Video noise reduction mode change reason. Refer to VideoDenoiseModeChangedReason{@link #VideoDenoiseModeChangedReason} for more details.
override
-
onVideoDeviceStateChanged(dynamic deviceID, dynamic deviceType, dynamic deviceState, dynamic deviceError)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief Video device state callback, returns the state of video capture and screen capture devices.
@param deviceID Device ID
@param deviceType Device type. See VideoDeviceType{@link #VideoDeviceType}.
@param deviceState Device state. See MediaDeviceState{@link #MediaDeviceState}.
@param deviceError Device error. See MediaDeviceError{@link #MediaDeviceError}.
override
-
onVideoDeviceWarning(dynamic deviceID, dynamic deviceType, dynamic deviceWarning)
→ FutureOr<void>
-
@detail callback
@author liuyangyang
@brief Video device warning callback, including video capture devices.
@param deviceID Device ID
@param deviceType See VideoDeviceType{@link #VideoDeviceType}
@param deviceWarning See MediaDeviceWarning{@link #MediaDeviceWarning}
override
-
onVideoFramePlayStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state)
→ FutureOr<void>
-
@detail callback
@author wangfujun
@brief Triggered when the remote video stream first frame play state changes.
@param streamId Stream ID.
@param streamInfo Stream information. See StreamInfo{@link #StreamInfo}.
@param user User information. See RtcUser{@link #RtcUser}.
@param state The first frame play state. See FirstFramePlayState{@link #FirstFramePlayState} for specific indications.
override
-
onVideoFrameSendStateChanged(dynamic streamId, dynamic streamInfo, dynamic user, dynamic state)
→ FutureOr<void>
-
@detail callback
@author wangfujun
@brief Triggered when the local video first frame send state changes.
@param streamId Stream ID.
@param streamInfo Stream information. See StreamInfo{@link #StreamInfo}.
@param user User information. See RtcUser{@link #RtcUser}.
@param state The first frame send state. See FirstFrameSendState{@link #FirstFrameSendState} for specific indications.
override
-
onWarning(dynamic warn)
→ FutureOr<void>
-
@detail callback
@author panjian.fishing
@brief A warning occurred during the SDK runtime. The SDK usually recovers automatically and warnings can be ignored.
@param warn Warning code. See 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