ZegoLivePlayerDelegate Protocol Reference

Conforms to NSObject
Declared in ZegoLiveRoomApi-Player.h

– onPlayStateUpdate:streamID: required method

播放流状态更新通知

- (void)onPlayStateUpdate:(int)stateCode streamID:(NSString *)streamID

Parameters

stateCode

状态码,0 为无错误。更多错误码详见 enum ZegoErrorCode

streamID

播放流 ID

Discussion

  • 调用 [ZegoLiveRoomApi (Player) -startPlayingStream:inView:] 或 [ZegoLiveRoomApi (Player) -startPlayingStream:inView:params:] 拉流成功后,会收到此回调通知。

Declared In

ZegoLiveRoomApi-Player.h

– onInviteJoinLiveRequest:fromUserID:fromUserName:roomID:

收到主播端的邀请连麦请求

- (void)onInviteJoinLiveRequest:(int)seq fromUserID:(NSString *)userId fromUserName:(NSString *)userName roomID:(NSString *)roomID

Parameters

seq

连麦请求序列号,标识当次连麦请求

userId

来源用户 ID

userName

来源用户名

roomID

房间 ID

Discussion

主播端调用 [ZegoLiveRoomApi (Publisher) -inviteJoinLive:responseBlock:] 邀请观众连麦后,观众端会收到此通知。建议在此通知中,调用 [ZegoLiveRoomApi (Player) -respondInviteJoinLiveReq:result:] 回应邀请连麦请求

Declared In

ZegoLiveRoomApi-Player.h

– onEndJoinLiveCommad:userName:roomID:

收到结束连麦信令

- (void)onEndJoinLiveCommad:(NSString *)fromUserId userName:(NSString *)fromUserName roomID:(NSString *)roomID

Parameters

fromUserId

来源用户 ID

fromUserName

来源用户名

roomID

房间 ID

Declared In

ZegoLiveRoomApi-Player.h

– onVideoSizeChangedTo:ofStream:

视频尺寸变更通知

- (void)onVideoSizeChangedTo:(CGSize)size ofStream:(NSString *)streamID

Parameters

size

视频大小

streamID

发生视频尺寸变更的流 ID

Discussion

  • 注意:
    1. 调用 startPlayingStream 之后,在 SDK 获取到第一帧数据时,会收到该 API 回调通知;
    1. 直播过程中,视频宽高发生变化,会收到该 API 回调通知。
    1. 从调用开始拉流接口到显示第一帧数据的过程中可能存在一个短暂的时间差(具体时长取决于当前的网络状态),推荐在进入直播页面时加载一张预览图以提升用户体验,然后在收到本回调后去掉预览图。

Declared In

ZegoLiveRoomApi-Player.h

– onRemoteCameraStatusUpdate:ofStream:reason:

远端摄像头状态通知

- (void)onRemoteCameraStatusUpdate:(int)status ofStream:(NSString *)streamID reason:(int)reason

Parameters

status

参考 zego-api-defines-oc.h 中 ZegoAPIDeviceStatus 的定义

streamID

流的唯一标识

reason

参考 zego-api-defines-oc.h 中 ZegoAPIDeviceErrorReason 的定义

Discussion

  • 注意:
    1. 仅拉 UDP 流有效;
    1. 当房间内其他流的摄像头状态发生改变,如其他用户调用了 EnableCamera (true/false) 后,会收到该 API 回调通知。

Declared In

ZegoLiveRoomApi-Player.h

– onRemoteMicStatusUpdate:ofStream:reason:

远端麦克风状态通知

- (void)onRemoteMicStatusUpdate:(int)status ofStream:(NSString *)streamID reason:(int)reason

Parameters

status

参考 zego-api-defines-oc.h 中 ZegoAPIDeviceStatus 的定义

streamID

流的唯一标识

reason

参考 zego-api-defines-oc.h 中 ZegoAPIDeviceErrorReason 的定义

Discussion

  • 注意:
    1. 仅拉 UDP 流有效;
    1. 当房间内其他流的麦克风状态发生改变,如其他用户调用了 EnableMic (true/false) 后,会收到该 API 回调通知。

Declared In

ZegoLiveRoomApi-Player.h

– onRemoteSpeakerStatusUpdate:ofStream:reason:

远端扬声器状态通知

- (void)onRemoteSpeakerStatusUpdate:(int)status ofStream:(NSString *)streamID reason:(int)reason

Parameters

status

参考 zego-api-defines-oc.h 中 ZegoAPIDeviceStatus 的定义

streamID

流的唯一标识

reason

参考 zego-api-defines-oc.h 中 ZegoAPIDeviceErrorReason 的定义

Discussion

  • 注意:
    1. 仅拉 UDP 流有效;
    1. 当 status 为 Device_Closed 时,reason 表示原因,可能的取值有:ZEGOAPI_DEVICE_ERROR_REASON_GENERIC,ZEGOAPI_DEVICE_ERROR_REASON_DISABLED,ZEGOAPI_DEVICE_ERROR_REASON_MUTE,ZEGOAPI_DEVICE_ERROR_REASON_INTERRUPTION

Declared In

ZegoLiveRoomApi-Player.h

– onRecvRemoteAudioFirstFrame:

接收到远端音频的首帧通知

- (void)onRecvRemoteAudioFirstFrame:(NSString *)streamID

Parameters

streamID

流的唯一标识

Discussion

  • 注意:
    1. 当远端音频的首帧到达后,会收到该 API 回调通知。

Declared In

ZegoLiveRoomApi-Player.h

– onRecvRemoteVideoFirstFrame:

接收到远端视频的首帧通知

- (void)onRecvRemoteVideoFirstFrame:(NSString *)streamID

Parameters

streamID

流的唯一标识

Discussion

  • 注意:
    1. 当远端视频频的首帧到达后,会收到该 API 回调通知。
    1. 从调用开始拉流接口到显示第一帧数据的过程中可能存在一个短暂的时间差(具体时长取决于当前的网络状态),推荐在进入直播页面时加载一张预览图以提升用户体验,然后在收到本回调后去掉预览图。

Declared In

ZegoLiveRoomApi-Player.h

– onRenderRemoteVideoFirstFrame:

远端视频渲染首帧通知

- (void)onRenderRemoteVideoFirstFrame:(NSString *)streamID

Parameters

streamID

渲染视频的流 ID

Discussion

  • 注意:
    1. 当开始要渲染远端的视频首帧时,会收到该 API 回调通知。

Declared In

ZegoLiveRoomApi-Player.h

– onPlayQualityUpdate:stream:videoFPS:videoBitrate:

播放流质量更新通知

- (void)onPlayQualityUpdate:(int)quality stream:(NSString *)streamID videoFPS:(double)fps videoBitrate:(double)kbs

Parameters

quality

0 ~ 3 分别对应优、良、中、差

streamID

观看流ID

fps

帧率(frame rate)

kbs

码率(bit rate) kb/s

Discussion

  • 注意:
    1. 拉流成功后会多次收到此回调通知;
    1. 默认回调频率为 3000ms 一次,通过 [ZegoLiveRoomApi (Player) setPlayQualityMonitorCycle] 可自定义回调频率。

Declared In

ZegoLiveRoomApi-Player.h

– onPlayQualityUpate:quality:

播放流质量更新通知

- (void)onPlayQualityUpate:(NSString *)streamID quality:(ZegoApiPlayQuality)quality

Parameters

streamID

观看流 ID

quality

ZegoPlayQuality 对象,内部包含了各项质量数据

Discussion

  • 注意:
    1. 拉流成功后会多次收到此回调通知;
    1. 默认回调频率为 3000ms 一次,通过 [ZegoLiveRoomApi (Player) setPlayQualityMonitorCycle] 可自定义回调频率。

Declared In

ZegoLiveRoomApi-Player.h

– onPlayStatsUpdate:

拉的所有rtc和l3流的统计数据更新回调

- (void)onPlayStatsUpdate:(ZegoAPIPlayStats *)stats

Parameters

stats

ZegoAPIPlayStats 对象,内部包含了各项统计数据

Declared In

ZegoLiveRoomApi-Player.h

– onVideoDecoder:error:stream:

视频解码失败回调

- (void)onVideoDecoder:(ZegoVideoCodecAvc)codecID error:(int)errorCode stream:(NSString *)streamID

Parameters

codecID

编解码器 ID

errorCode

错误码, 详见 zego-api-defines-oc.h 中 ZegoAPICodecError 的定义

streamID

流 ID

Declared In

ZegoLiveRoomApi-Player.h

– onPlayerVideoSuperResolutionUpdate:state:errorCode:

  • 视频超分状态回调 *
  • 当开启或关闭视频超分后,拉流视频渲染时根据实际情况通知开发者是否开启超分。 *
- (void)onPlayerVideoSuperResolutionUpdate:(NSString *)streamID state:(int)state errorCode:(int)errorCode

Parameters

streamID

超分的流 ID

state

超分状态, 0 关闭,1 开启

errorCode

错误码

Declared In

ZegoLiveRoomApi-Player.h