AgoraRtcServiceEvents Protocol Reference
Conforms to | NSObject |
---|---|
Declared in | AgoraRtcService.h |
– rtcServiceDidJoinChannel:elapsed:
成功加入频道回调。
- (void)rtcServiceDidJoinChannel:(NSString *_Nonnull)channelName elapsed:(int)elapsed
Parameters
channelName |
频道名。 |
---|---|
elapsed |
从频道成功创建开始到发生此回调过去的时间(毫秒)。 |
Declared In
AgoraRtcService.h
– rtcServiceDidLostConnectionOfChannel:
连接丢失回调。
- (void)rtcServiceDidLostConnectionOfChannel:(NSString *_Nonnull)channelName
Parameters
channelName |
频道名。 |
---|
Declared In
AgoraRtcService.h
– rtcServiceDidRejoinChannel:elapsed:
重新成功加入频道回调。
- (void)rtcServiceDidRejoinChannel:(NSString *_Nonnull)channelName elapsed:(int)elapsed
Parameters
channelName |
频道名。 |
---|---|
elapsed |
从开始重连到重连成功的时间(毫秒)。 |
Discussion
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连成功后触发此回调方法。
Declared In
AgoraRtcService.h
– rtcServiceDidOccurWarningInChannel:warningCode:message:
发生警告回调。
- (void)rtcServiceDidOccurWarningInChannel:(NSString *_Nonnull)channelName warningCode:(int)warningCode message:(NSString *_Nonnull)message
Parameters
channelName |
频道名。 |
---|---|
warningCode |
警告码。 |
message |
警告描述。 |
Discussion
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。
Declared In
AgoraRtcService.h
– rtcServiceDidOccurErrorInChannel:errorCode:message:
发生错误回调。
- (void)rtcServiceDidOccurErrorInChannel:(NSString *_Nonnull)channelName errorCode:(int)errorCode message:(NSString *_Nonnull)message
Parameters
channelName |
频道名。 |
---|---|
errorCode |
错误码。 |
message |
错误描述。 |
Discussion
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。
Declared In
AgoraRtcService.h
– rtcServiceRemoteUserDidJoinedInChannel:uid:elapsed:
远端用户加入频道回调。
- (void)rtcServiceRemoteUserDidJoinedInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid elapsed:(int)elapsed
Parameters
channelName |
频道名。 |
---|---|
uid |
用户 ID。 |
elapsed |
从频道成功创建开始到发生此回调过去的时间(毫秒)。 |
Declared In
AgoraRtcService.h
– rtcServiceRemoteUserDidOfflineInChannel:uid:reason:
远端用户离开频道回调。
- (void)rtcServiceRemoteUserDidOfflineInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid reason:(int)reason
Parameters
channelName |
频道名。 |
---|---|
uid |
离开频道的用户 ID。 |
reason |
用户离开频道原因:
|
Declared In
AgoraRtcService.h
– rtcServiceRemoteUserDidMuteAudioInChannel:uid:muted:
频道内远端用户暂停/恢复发送音频流回调。
- (void)rtcServiceRemoteUserDidMuteAudioInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid muted:(BOOL)muted
Parameters
channelName |
频道名。 |
---|---|
uid |
远端用户的用户 ID。 |
muted |
远端用户是否发送音频流:
|
Declared In
AgoraRtcService.h
– rtcServiceRemoteUserDidMuteVideoInChannel:uid:muted:
频道内远端用户暂停/恢复发送视频流回调。
- (void)rtcServiceRemoteUserDidMuteVideoInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid muted:(BOOL)muted
Parameters
channelName |
频道名。 |
---|---|
uid |
远端用户的用户 ID。 |
muted |
远端用户是否发送视频流:
|
Declared In
AgoraRtcService.h
– rtcServiceRemoteUserDidRequestKeyFrameInChannel:uid:streamId:
频道内远端用户请求关键帧回调。
- (void)rtcServiceRemoteUserDidRequestKeyFrameInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid streamId:(uint8_t)streamId
Parameters
channelName |
频道名。 |
---|---|
uid |
远端用户的用户 ID。 |
streamId |
需要生成关键帧的视频流 ID。 |
Declared In
AgoraRtcService.h
– rtcServiceDidReceiveAudioDataInChannel:uid:timestamp:codec:audioData:
收到频道内远端用户的音频帧回调。
- (void)rtcServiceDidReceiveAudioDataInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid timestamp:(uint16_t)timestamp codec:(uint8_t)codec audioData:(NSData *_Nonnull)audioData
Parameters
channelName |
频道名。 |
---|---|
uid |
发送音频帧的远端用户的用户 ID。 |
timestamp |
Unix 时间戳(ms),标识发送音频帧的远端用户调用 sendAudioDataToChannel 方法的时间。 |
codec |
采用的音频编解码。 |
audioData |
音频包数据。 |
Declared In
AgoraRtcService.h
– rtcServiceDidReceiveVideoDataInChannel:uid:timestamp:codec:streamId:isKeyFrame:videoData:
收到频道内远端用户的视频帧回调。
- (void)rtcServiceDidReceiveVideoDataInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid timestamp:(uint16_t)timestamp codec:(uint8_t)codec streamId:(uint8_t)streamId isKeyFrame:(BOOL)isKeyFrame videoData:(NSData *_Nonnull)videoData
Parameters
channelName |
频道名。 |
---|---|
uid |
发送视频帧的远端用户的用户 ID。 |
timestamp |
Unix 时间戳(ms)。标识发送视频帧的远端用户调用 sendVideoDataToChannel 方法的时间。 |
codec |
采用的视频编解码。 |
streamId |
视频流 ID。 |
isKeyFrame |
是否为视频关键帧:
|
videoData |
视频包数据。 |
Declared In
AgoraRtcService.h
– rtcServiceDidRdtAvailabilityChangedInChannel:is_available:
可靠数据通道的可用状态发生变化时,SDK 触发该回调。
- (void)rtcServiceDidRdtAvailabilityChangedInChannel:(NSString *_Nonnull)channelName is_available:(int32_t)is_available
Parameters
channelName |
频道名。 |
---|---|
is_available |
可靠数据通道的可用状态:
|
Discussion
可靠数据通道为端对端通道。当频道内只有两个用户时,可靠数据通道才为可用。
Declared In
AgoraRtcService.h
– rtcServiceDidReceiveCmdInChannel:uid:cmd:param:
收到频道内远端用户的控制指令时,SDK 触发该回调。
- (void)rtcServiceDidReceiveCmdInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid cmd:(int32_t)cmd param:(NSData *_Nullable)param
Parameters
channelName |
频道名。 |
---|---|
uid |
发送控制指令的用户的 UID。 |
cmd |
控制指令。 |
param |
控制指令的参数。如无,可设为 nil。 |
Declared In
AgoraRtcService.h
– rtcServiceDidReceiveDataFromRdtInChannel:uid:Data:
收到频道中通过可靠数据通道传输过来的数据时,SDK 触发该回调。
- (void)rtcServiceDidReceiveDataFromRdtInChannel:(NSString *_Nonnull)channelName uid:(uint32_t)uid Data:(NSData *_Nonnull)Data
Parameters
channelName |
频道名。 |
---|---|
uid |
发送数据的用户的 UID。 |
Data |
数据段。 |
Declared In
AgoraRtcService.h
– rtcServiceRecommendDecreaseBitrateInChannel:count:
建议应用程序降低码率回调。
- (void)rtcServiceRecommendDecreaseBitrateInChannel:(NSString *_Nonnull)channelName count:(uint32_t)count
Parameters
channelName |
频道名。 |
---|---|
count |
建议降低的码率值(bps)。 |
Discussion
该回调在网络可用带宽下降时触发。收到该回调后用户应该降低编码器码率。
Declared In
AgoraRtcService.h
– rtcServiceRecommendIncreaseBitrateInChannel:count:
建议应用程序提高码率回调。
- (void)rtcServiceRecommendIncreaseBitrateInChannel:(NSString *_Nonnull)channelName count:(uint32_t)count
Parameters
channelName |
频道名。 |
---|---|
count |
建议提高的码率值(bps)。 |
Discussion
该回调在网络可用带宽升高时触发。收到该回调后用户应该提高编码器码率。
Declared In
AgoraRtcService.h
– rtcServiceDidRegisterLocalUser:uid:
本地用户成功注册 String 型用户名回调。
- (void)rtcServiceDidRegisterLocalUser:(NSString *_Nonnull)userName uid:(uint32_t)uid
Parameters
userName |
本地用户的用户名。 |
---|---|
uid |
SDK 分配给本地用户的 UID。 |
Discussion
本地用户调用 initWithAppId 方法使用 String 型用户名初始化成功后,会触发该回调。
Declared In
AgoraRtcService.h
– rtcServiceDidRegisterRemoteUser:uid:
远端用户成功注册 String 型用户名回调。
- (void)rtcServiceDidRegisterRemoteUser:(NSString *_Nonnull)userName uid:(uint32_t)uid
Parameters
userName |
远端用户的用户名。 |
---|---|
uid |
远端用户 ID。 |
Declared In
AgoraRtcService.h