ZegoEventHandler Protocol Reference

Conforms to NSObject
Declared in ZegoExpressEventHandler.h

– onDebugError:funcName:info:

Error code, please refer to the error codes document https://docs.zegocloud.com/en/5548.html for details.

- (void)onDebugError:(int)errorCode funcName:(NSString *)funcName info:(NSString *)info

Parameters

errorCode

Error code, please refer to the error codes document https://docs.zegocloud.com/en/5548.html for details.

funcName

Function name.

info

Detailed error information.

Declared In

ZegoExpressEventHandler.h

– onEngineStateUpdate:

The audio/video engine state.

- (void)onEngineStateUpdate:(ZegoEngineState)state

Parameters

state

The audio/video engine state.

Declared In

ZegoExpressEventHandler.h

– onRecvExperimentalAPI:

Callback content in JSON string format.

- (void)onRecvExperimentalAPI:(NSString *)content

Parameters

content

Callback content in JSON string format.

Declared In

ZegoExpressEventHandler.h

– onFatalError:

Error code.

- (void)onFatalError:(int)errorCode

Parameters

errorCode

Error code.

Declared In

ZegoExpressEventHandler.h

– onRoomStateUpdate:errorCode:extendedData:roomID:

Changed room state.

- (void)onRoomStateUpdate:(ZegoRoomState)state errorCode:(int)errorCode extendedData:(nullable NSDictionary *)extendedData roomID:(NSString *)roomID

Parameters

state

Changed room state.

errorCode

Error code, For details, please refer to Common Error Codes.

extendedData

Extended Information with state updates. When the room login is successful, the key “room_session_id” can be used to obtain the unique RoomSessionID of each audio and video communication, which identifies the continuous communication from the first user in the room to the end of the audio and video communication. It can be used in scenarios such as call quality scoring and call problem diagnosis.

roomID

Room ID, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomStateChanged:errorCode:extendedData:roomID:

Room state change reason.

- (void)onRoomStateChanged:(ZegoRoomStateChangedReason)reason errorCode:(int)errorCode extendedData:(NSDictionary *)extendedData roomID:(NSString *)roomID

Parameters

reason

Room state change reason.

errorCode

Error code, please refer to the error codes document https://doc-en.zego.im/en/5548.html for details.

extendedData

Extended Information with state updates. When the room login is successful, the key “room_session_id” can be used to obtain the unique RoomSessionID of each audio and video communication, which identifies the continuous communication from the first user in the room to the end of the audio and video communication. It can be used in scenarios such as call quality scoring and call problem diagnosis.

roomID

Room ID, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomUserUpdate:userList:roomID:

Update type (add/delete).

- (void)onRoomUserUpdate:(ZegoUpdateType)updateType userList:(NSArray<ZegoUser*> *)userList roomID:(NSString *)roomID

Parameters

updateType

Update type (add/delete).

userList

List of users changed in the current room.

roomID

Room ID where the user is logged in, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomOnlineUserCountUpdate:roomID:

Count of online users.

- (void)onRoomOnlineUserCountUpdate:(int)count roomID:(NSString *)roomID

Parameters

count

Count of online users.

roomID

Room ID where the user is logged in, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomStreamUpdate:streamList:extendedData:roomID:

Update type (add/delete).

- (void)onRoomStreamUpdate:(ZegoUpdateType)updateType streamList:(NSArray<ZegoStream*> *)streamList extendedData:(nullable NSDictionary *)extendedData roomID:(NSString *)roomID

Parameters

updateType

Update type (add/delete).

streamList

Updated stream list.

extendedData

Extended information with stream updates.When receiving a stream deletion notification, the developer can convert the string into a json object to get the stream_delete_reason field, which is an array of stream deletion reasons, and the stream_delete_reason[].code field may have the following values: 1 (the user actively stops publishing stream) ; 2 (user heartbeat timeout); 3 (user repeated login); 4 (user kicked out); 5 (user disconnected); 6 (removed by the server).

roomID

Room ID where the user is logged in, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomStreamExtraInfoUpdate:roomID:

List of streams that the extra info was updated.

- (void)onRoomStreamExtraInfoUpdate:(NSArray<ZegoStream*> *)streamList roomID:(NSString *)roomID

Parameters

streamList

List of streams that the extra info was updated.

roomID

Room ID where the user is logged in, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomExtraInfoUpdate:roomID:

List of the extra info updated.

- (void)onRoomExtraInfoUpdate:(NSArray<ZegoRoomExtraInfo*> *)roomExtraInfoList roomID:(NSString *)roomID

Parameters

roomExtraInfoList

List of the extra info updated.

roomID

Room ID where the user is logged in, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onRoomTokenWillExpire:roomID:

The remaining time before the token expires.

- (void)onRoomTokenWillExpire:(int)remainTimeInSecond roomID:(NSString *)roomID

Parameters

remainTimeInSecond

The remaining time before the token expires.

roomID

Room ID where the user is logged in, a string of up to 128 bytes in length.

Declared In

ZegoExpressEventHandler.h

– onPublisherStateUpdate:errorCode:extendedData:streamID:

State of publishing stream.

- (void)onPublisherStateUpdate:(ZegoPublisherState)state errorCode:(int)errorCode extendedData:(nullable NSDictionary *)extendedData streamID:(NSString *)streamID

Parameters

state

State of publishing stream.

errorCode

The error code corresponding to the status change of the publish stream, please refer to the error codes document https://docs.zegocloud.com/en/5548.html for details.

extendedData

Extended information with state updates, include playing stream CDN address.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPublisherQualityUpdate:streamID:

Publishing stream quality, including audio and video framerate, bitrate, RTT, etc.

- (void)onPublisherQualityUpdate:(ZegoPublishStreamQuality *)quality streamID:(NSString *)streamID

Parameters

quality

Publishing stream quality, including audio and video framerate, bitrate, RTT, etc.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPublisherCapturedAudioFirstFrame

Available since: 1.1.0 Description: This callback will be received when the SDK starts the microphone to capture the first frame of audio data. If this callback is not received, the audio capture device is occupied or abnormal. Trigger: When the engine of the audio/video module inside the SDK starts, the SDK will go and collect the audio data from the local device and will receive the callback at that time. Related callbacks: Determine if the SDK actually collected video data by the callback function [onPublisherCapturedVideoFirstFrame], determine if the SDK has rendered the first frame of video data collected by calling back [onPublisherRenderVideoFirstFrame].

- (void)onPublisherCapturedAudioFirstFrame

Declared In

ZegoExpressEventHandler.h

– onPublisherCapturedVideoFirstFrame:

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

- (void)onPublisherCapturedVideoFirstFrame:(ZegoPublishChannel)channel

Parameters

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherSendAudioFirstFrame:

Publishing stream channel.If you only publish one audio stream, you can ignore this parameter.

- (void)onPublisherSendAudioFirstFrame:(ZegoPublishChannel)channel

Parameters

channel

Publishing stream channel.If you only publish one audio stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherSendVideoFirstFrame:

Publishing stream channel.If you only publish one video stream, you can ignore this parameter.

- (void)onPublisherSendVideoFirstFrame:(ZegoPublishChannel)channel

Parameters

channel

Publishing stream channel.If you only publish one video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherRenderVideoFirstFrame:

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

- (void)onPublisherRenderVideoFirstFrame:(ZegoPublishChannel)channel

Parameters

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherVideoSizeChanged:channel:

Video capture resolution

- (void)onPublisherVideoSizeChanged:(CGSize)size channel:(ZegoPublishChannel)channel

Parameters

size

Video capture resolution

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherRelayCDNStateUpdate:streamID:

List of information that the current CDN is relaying.

- (void)onPublisherRelayCDNStateUpdate:(NSArray<ZegoStreamRelayCDNInfo*> *)infoList streamID:(NSString *)streamID

Parameters

infoList

List of information that the current CDN is relaying.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPublisherVideoEncoderChanged:toCodecID:channel:

Video codec ID before the change.

- (void)onPublisherVideoEncoderChanged:(ZegoVideoCodecID)fromCodecID toCodecID:(ZegoVideoCodecID)toCodecID channel:(ZegoPublishChannel)channel

Parameters

fromCodecID

Video codec ID before the change.

toCodecID

Video codec ID after the change.

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherStreamEvent:streamID:extraInfo:

Publish stream event ID

- (void)onPublisherStreamEvent:(ZegoStreamEvent)eventID streamID:(NSString *)streamID extraInfo:(NSString *)extraInfo

Parameters

eventID

Publish stream event ID

streamID

Stream ID.

extraInfo

extra info. it is in JSON format. Included information includes “url” for address, “streamProtocol” for stream protocol, including rtmp, flv, avertp, hls, webrtc, etc. “netProtocol” for network protocol, including tcp, udp, quic, “resourceType” for resource type , including cdn, rtc, l3.

Declared In

ZegoExpressEventHandler.h

– onVideoObjectSegmentationStateChanged:channel:errorCode:

Object segmentation state.

- (void)onVideoObjectSegmentationStateChanged:(ZegoObjectSegmentationState)state channel:(ZegoPublishChannel)channel errorCode:(int)errorCode

Parameters

state

Object segmentation state.

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

errorCode

The error code corresponding to the status change of the object segmentation, please refer to the error codes document https://docs.zegocloud.com/en/5548.html for details.

Declared In

ZegoExpressEventHandler.h

– onPublisherLowFpsWarning:channel:

Video codec ID.

- (void)onPublisherLowFpsWarning:(ZegoVideoCodecID)codecID channel:(ZegoPublishChannel)channel

Parameters

codecID

Video codec ID.

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPublisherDummyCaptureImagePathError:path:channel:

error code.

- (void)onPublisherDummyCaptureImagePathError:(int)errorCode path:(NSString *)path channel:(ZegoPublishChannel)channel

Parameters

errorCode

error code.

path

Image path.

channel

Publishing stream channel.If you only publish one audio and video stream, you can ignore this parameter.

Declared In

ZegoExpressEventHandler.h

– onPlayerStateUpdate:errorCode:extendedData:streamID:

State of playing stream.

- (void)onPlayerStateUpdate:(ZegoPlayerState)state errorCode:(int)errorCode extendedData:(nullable NSDictionary *)extendedData streamID:(NSString *)streamID

Parameters

state

State of playing stream.

errorCode

The error code corresponding to the status change of the playing stream, please refer to the error codes document https://docs.zegocloud.com/en/5548.html for details.

extendedData

Extended Information with state updates. As the standby, only an empty json table is currently returned.

streamID

stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerQualityUpdate:streamID:

Playing stream quality, including audio and video framerate, bitrate, RTT, etc.

- (void)onPlayerQualityUpdate:(ZegoPlayStreamQuality *)quality streamID:(NSString *)streamID

Parameters

quality

Playing stream quality, including audio and video framerate, bitrate, RTT, etc.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerMediaEvent:streamID:

Specific events received when playing the stream.

- (void)onPlayerMediaEvent:(ZegoPlayerMediaEvent)event streamID:(NSString *)streamID

Parameters

event

Specific events received when playing the stream.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerRecvAudioFirstFrame:

Stream ID.

- (void)onPlayerRecvAudioFirstFrame:(NSString *)streamID

Parameters

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerRecvVideoFirstFrame:

Stream ID.

- (void)onPlayerRecvVideoFirstFrame:(NSString *)streamID

Parameters

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerSyncRecvVideoFirstFrame:

Stream ID.

- (void)onPlayerSyncRecvVideoFirstFrame:(NSString *)streamID

Parameters

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerRenderVideoFirstFrame:

Stream ID.

- (void)onPlayerRenderVideoFirstFrame:(NSString *)streamID

Parameters

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerRenderCameraVideoFirstFrame:

Stream ID.

- (void)onPlayerRenderCameraVideoFirstFrame:(NSString *)streamID

Parameters

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerVideoSizeChanged:streamID:

Video decoding resolution

- (void)onPlayerVideoSizeChanged:(CGSize)size streamID:(NSString *)streamID

Parameters

size

Video decoding resolution

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerRecvSEI:streamID:

This function will switch the UI thread callback data, which may cause SEI data exceptions. It will be deprecated in version 3.4.0 and above. Please use the [onPlayerSyncRecvSEI] function instead. (Deprecated: This function will switch the UI thread callback data, which may cause SEI data exceptions. It will be deprecated in version 3.4.0 and above. Please use the [onPlayerSyncRecvSEI] function instead.)

- (void)onPlayerRecvSEI:(NSData *)data streamID:(NSString *)streamID

Parameters

data

SEI content.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerSyncRecvSEI:streamID:

SEI content.

- (void)onPlayerSyncRecvSEI:(NSData *)data streamID:(NSString *)streamID

Parameters

data

SEI content.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerRecvMediaSideInfo:

SEI Callback info.

- (void)onPlayerRecvMediaSideInfo:(ZegoMediaSideInfo *)info

Parameters

info

SEI Callback info.

Declared In

ZegoExpressEventHandler.h

– onPlayerRecvAudioSideInfo:streamID:

Audio side information content.

- (void)onPlayerRecvAudioSideInfo:(NSData *)data streamID:(NSString *)streamID

Parameters

data

Audio side information content.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerLowFpsWarning:streamID:

Video codec ID.

- (void)onPlayerLowFpsWarning:(ZegoVideoCodecID)codecID streamID:(NSString *)streamID

Parameters

codecID

Video codec ID.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onPlayerStreamEvent:streamID:extraInfo:

Play stream event ID

- (void)onPlayerStreamEvent:(ZegoStreamEvent)eventID streamID:(NSString *)streamID extraInfo:(NSString *)extraInfo

Parameters

eventID

Play stream event ID

streamID

Stream ID.

extraInfo

extra info. it is in JSON format. Included information includes “url” for address, “streamProtocol” for stream protocol, including rtmp, flv, avertp, hls, webrtc, etc. “netProtocol” for network protocol, including tcp, udp, quic, “resourceType” for resource type , including cdn, rtc, l3.

Declared In

ZegoExpressEventHandler.h

– onPlayerVideoSuperResolutionUpdate:state:errorCode:

Stream ID.

- (void)onPlayerVideoSuperResolutionUpdate:(NSString *)streamID state:(ZegoSuperResolutionState)state errorCode:(int)errorCode

Parameters

streamID

Stream ID.

state

Video super resolution state.

errorCode

Error code, please refer to the error codes document https://docs.zegocloud.com/en/5548.html for details.

Declared In

ZegoExpressEventHandler.h

– onMixerRelayCDNStateUpdate:taskID:

List of information that the current CDN is being mixed.

- (void)onMixerRelayCDNStateUpdate:(NSArray<ZegoStreamRelayCDNInfo*> *)infoList taskID:(NSString *)taskID

Parameters

infoList

List of information that the current CDN is being mixed.

taskID

The mixing task ID. Value range: the length does not exceed 256. Caution: This parameter is in string format and cannot contain URL keywords, such as ‘http’ and ‘?’ etc., otherwise the push and pull flow will fail. Only supports numbers, English characters and'~‘,’!‘,’@‘,’$‘,’%‘,’^‘,’&‘,’*‘,’(‘,’)‘,’_‘ ,’+‘,’=‘,’-‘,’`‘,’;‘,’‘’,‘,’,‘.’,‘<’,‘>’,‘\’.

Declared In

ZegoExpressEventHandler.h

– onMixerSoundLevelUpdate:

The sound key-value pair of each single stream in the mixed stream, the key is the soundLevelID of each single stream, and the value is the sound value of the corresponding single stream. Value range: The value range of value is 0.0 ~ 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

- (void)onMixerSoundLevelUpdate:(NSDictionary<NSNumber*,NSNumber*> *)soundLevels

Parameters

soundLevels

The sound key-value pair of each single stream in the mixed stream, the key is the soundLevelID of each single stream, and the value is the sound value of the corresponding single stream. Value range: The value range of value is 0.0 ~ 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

Declared In

ZegoExpressEventHandler.h

– onAutoMixerSoundLevelUpdate:

Sound level hash map, key is the streamID of every single stream in this mixer stream, value is the sound level value of that single stream, value ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

- (void)onAutoMixerSoundLevelUpdate:(NSDictionary<NSString*,NSNumber*> *)soundLevels

Parameters

soundLevels

Sound level hash map, key is the streamID of every single stream in this mixer stream, value is the sound level value of that single stream, value ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

Declared In

ZegoExpressEventHandler.h

– onAudioDeviceStateChanged:updateType:deviceType:

Audio device information

- (void)onAudioDeviceStateChanged:(ZegoDeviceInfo *)deviceInfo updateType:(ZegoUpdateType)updateType deviceType:(ZegoAudioDeviceType)deviceType

Parameters

deviceInfo

Audio device information

updateType

Update type (add/delete)

deviceType

Audio device type

Declared In

ZegoExpressEventHandler.h

– onAudioDeviceVolumeChanged:deviceType:deviceID:

audio device volume

- (void)onAudioDeviceVolumeChanged:(int)volume deviceType:(ZegoAudioDeviceType)deviceType deviceID:(NSString *)deviceID

Parameters

volume

audio device volume

deviceType

Audio device type

deviceID

Audio device ID

Declared In

ZegoExpressEventHandler.h

– onVideoDeviceStateChanged:updateType:

Audio device information

- (void)onVideoDeviceStateChanged:(ZegoDeviceInfo *)deviceInfo updateType:(ZegoUpdateType)updateType

Parameters

deviceInfo

Audio device information

updateType

Update type (add/delete)

Declared In

ZegoExpressEventHandler.h

– onCapturedSoundLevelUpdate:

Locally captured sound level value, ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.) .

- (void)onCapturedSoundLevelUpdate:(NSNumber *)soundLevel

Parameters

soundLevel

Locally captured sound level value, ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.) .

Declared In

ZegoExpressEventHandler.h

– onCapturedSoundLevelInfoUpdate:

Locally captured sound level value, ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

- (void)onCapturedSoundLevelInfoUpdate:(ZegoSoundLevelInfo *)soundLevelInfo

Parameters

soundLevelInfo

Locally captured sound level value, ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

Declared In

ZegoExpressEventHandler.h

– onRemoteSoundLevelUpdate:

Remote sound level hash map, key is the streamID, value is the sound level value of the corresponding streamID, value ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

- (void)onRemoteSoundLevelUpdate:(NSDictionary<NSString*,NSNumber*> *)soundLevels

Parameters

soundLevels

Remote sound level hash map, key is the streamID, value is the sound level value of the corresponding streamID, value ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

Declared In

ZegoExpressEventHandler.h

– onRemoteSoundLevelInfoUpdate:

Remote sound level hash map, key is the streamID, value is the sound level value of the corresponding streamID, value ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

- (void)onRemoteSoundLevelInfoUpdate:(NSDictionary<NSString*,ZegoSoundLevelInfo*> *)soundLevelInfos

Parameters

soundLevelInfos

Remote sound level hash map, key is the streamID, value is the sound level value of the corresponding streamID, value ranging from 0.0 to 100.0 (This value only represents the range of the sound level value returned by the callback, not the precision.).

Declared In

ZegoExpressEventHandler.h

– onCapturedAudioSpectrumUpdate:

Locally captured audio spectrum value list. Spectrum value range is [0-230].

- (void)onCapturedAudioSpectrumUpdate:(NSArray<NSNumber*> *)audioSpectrum

Parameters

audioSpectrum

Locally captured audio spectrum value list. Spectrum value range is [0-230].

Declared In

ZegoExpressEventHandler.h

– onRemoteAudioSpectrumUpdate:

Remote audio spectrum hash map, key is the streamID, value is the audio spectrum list of the corresponding streamID. Spectrum value range is [0-230]

- (void)onRemoteAudioSpectrumUpdate:(NSDictionary<NSString*,NSArray<NSNumber*> *> *)audioSpectrums

Parameters

audioSpectrums

Remote audio spectrum hash map, key is the streamID, value is the audio spectrum list of the corresponding streamID. Spectrum value range is [0-230]

Declared In

ZegoExpressEventHandler.h

– onLocalDeviceExceptionOccurred:deviceType:deviceID:

The type of the device exception.

- (void)onLocalDeviceExceptionOccurred:(ZegoDeviceExceptionType)exceptionType deviceType:(ZegoDeviceType)deviceType deviceID:(NSString *)deviceID

Parameters

exceptionType

The type of the device exception.

deviceType

The type of device where the exception occurred.

deviceID

Device ID. Currently, only desktop devices are supported to distinguish different devices; for mobile devices, this parameter will return an empty string.

Declared In

ZegoExpressEventHandler.h

– onRemoteCameraStateUpdate:streamID:

Remote camera status.

- (void)onRemoteCameraStateUpdate:(ZegoRemoteDeviceState)state streamID:(NSString *)streamID

Parameters

state

Remote camera status.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onRemoteMicStateUpdate:streamID:

Remote microphone status.

- (void)onRemoteMicStateUpdate:(ZegoRemoteDeviceState)state streamID:(NSString *)streamID

Parameters

state

Remote microphone status.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onRemoteSpeakerStateUpdate:streamID:

Remote speaker status.

- (void)onRemoteSpeakerStateUpdate:(ZegoRemoteDeviceState)state streamID:(NSString *)streamID

Parameters

state

Remote speaker status.

streamID

Stream ID.

Declared In

ZegoExpressEventHandler.h

– onAudioRouteChange:

Current audio route.

- (void)onAudioRouteChange:(ZegoAudioRoute)audioRoute

Parameters

audioRoute

Current audio route.

Declared In

ZegoExpressEventHandler.h

– onAudioVADStateUpdate:monitorType:

audio VAD monitor type

- (void)onAudioVADStateUpdate:(ZegoAudioVADType)state monitorType:(ZegoAudioVADStableStateMonitorType)type

Parameters

state

VAD result

type

audio VAD monitor type

Declared In

ZegoExpressEventHandler.h

– onRecvRoomTransparentMessage:roomID:

recv message.

- (void)onRecvRoomTransparentMessage:(ZegoRoomRecvTransparentMessage *)message roomID:(NSString *)roomID

Parameters

message

recv message.

roomID

Room ID. Value range: The maximum length is 128 bytes.

Declared In

ZegoExpressEventHandler.h

– onIMRecvBroadcastMessage:roomID:

List of received messages. Value range: Up to 50 messages can be received each time.

- (void)onIMRecvBroadcastMessage:(NSArray<ZegoBroadcastMessageInfo*> *)messageList roomID:(NSString *)roomID

Parameters

messageList

List of received messages. Value range: Up to 50 messages can be received each time.

roomID

Room ID. Value range: The maximum length is 128 bytes.

Declared In

ZegoExpressEventHandler.h

– onIMRecvBarrageMessage:roomID:

List of received messages. Value range: Up to 50 messages can be received each time.

- (void)onIMRecvBarrageMessage:(NSArray<ZegoBarrageMessageInfo*> *)messageList roomID:(NSString *)roomID

Parameters

messageList

List of received messages. Value range: Up to 50 messages can be received each time.

roomID

Room ID. Value range: The maximum length is 128 bytes.

Declared In

ZegoExpressEventHandler.h

– onIMRecvCustomCommand:fromUser:roomID:

Command content received.Value range: The maximum length is 1024 bytes.

- (void)onIMRecvCustomCommand:(NSString *)command fromUser:(ZegoUser *)fromUser roomID:(NSString *)roomID

Parameters

command

Command content received.Value range: The maximum length is 1024 bytes.

fromUser

Sender of the command.

roomID

Room ID. Value range: The maximum length is 128 bytes.

Declared In

ZegoExpressEventHandler.h

– onPerformanceStatusUpdate:

System performance monitoring status.

- (void)onPerformanceStatusUpdate:(ZegoPerformanceStatus *)status

Parameters

status

System performance monitoring status.

Declared In

ZegoExpressEventHandler.h

– onNetworkModeChanged:

Current network mode.

- (void)onNetworkModeChanged:(ZegoNetworkMode)mode

Parameters

mode

Current network mode.

Declared In

ZegoExpressEventHandler.h

– onNetworkSpeedTestError:type:

Network speed test error code. Please refer to error codes document https://docs.zegocloud.com/en/5548.html for details.

- (void)onNetworkSpeedTestError:(int)errorCode type:(ZegoNetworkSpeedTestType)type

Parameters

errorCode

Network speed test error code. Please refer to error codes document https://docs.zegocloud.com/en/5548.html for details.

type

Uplink or downlink.

Declared In

ZegoExpressEventHandler.h

– onNetworkSpeedTestQualityUpdate:type:

Network speed test quality.

- (void)onNetworkSpeedTestQualityUpdate:(ZegoNetworkSpeedTestQuality *)quality type:(ZegoNetworkSpeedTestType)type

Parameters

quality

Network speed test quality.

type

Uplink or downlink.

Declared In

ZegoExpressEventHandler.h

– onNetworkQuality:upstreamQuality:downstreamQuality:

User ID, empty means local user

- (void)onNetworkQuality:(NSString *)userID upstreamQuality:(ZegoStreamQualityLevel)upstreamQuality downstreamQuality:(ZegoStreamQualityLevel)downstreamQuality

Parameters

userID

User ID, empty means local user

upstreamQuality

Upstream network quality

downstreamQuality

Downstream network quality

Declared In

ZegoExpressEventHandler.h

– onNetworkTimeSynchronized

Available since: 2.12.0 This callback is triggered when internal network time synchronization completes after a developer calls [createEngine].

- (void)onNetworkTimeSynchronized

Declared In

ZegoExpressEventHandler.h

– onRequestDumpData

Available since: 3.10.0 When to Trigger: When the customer reports back the problem, ZEGO expects the user to dump the data to analyze the audio / video processing problem, which will trigger this callback.

- (void)onRequestDumpData

Declared In

ZegoExpressEventHandler.h

– onRequestUploadDumpData:takePhoto:

Dump data dir.

- (void)onRequestUploadDumpData:(NSString *)dumpDir takePhoto:(BOOL)takePhoto

Parameters

dumpDir

Dump data dir.

takePhoto

Need to take photo when uploading dump data

Declared In

ZegoExpressEventHandler.h

– onStartDumpData:

Error code.

- (void)onStartDumpData:(int)errorCode

Parameters

errorCode

Error code.

Declared In

ZegoExpressEventHandler.h

– onStopDumpData:dumpDir:

Error code.

- (void)onStopDumpData:(int)errorCode dumpDir:(NSString *)dumpDir

Parameters

errorCode

Error code.

dumpDir

Dump data dir.

Declared In

ZegoExpressEventHandler.h

– onUploadDumpData:

Error code.

- (void)onUploadDumpData:(int)errorCode

Parameters

errorCode

Error code.

Declared In

ZegoExpressEventHandler.h