LVRTCEngineDelegate Protocol Reference
Conforms to | NSObject |
---|---|
Declared in | LVRTCEngine.h |
– OnRoomReconnected
required method
房间重连成功通知,SDK 在网络断开和恢复时会自动进行重连,重连结果通过该回调通知 APP
- (void)OnRoomReconnected
Declared In
LVRTCEngine.h
– OnEnterRoomComplete:users:
required method
加入房间成功的回调
- (void)OnEnterRoomComplete:(LVErrorCode)code users:(nullable NSArray<LVUser*> *)users
Parameters
code |
加入房间是否成功错误码 |
---|---|
users |
用户列表,如果房间中有用户存在,该列表会自动生效 |
Declared In
LVRTCEngine.h
– OnExitRoomComplete
required method
退出房间完成,异常退出和用户主动调用 logoutRoom 方法会触发该回调方法
- (void)OnExitRoomComplete
Declared In
LVRTCEngine.h
– OnRoomDisconnected:
required method
房间断开的通知,网络异常时 SDK 会自动进行重连,90 秒如果重连失败会触发该方法回调
- (void)OnRoomDisconnected:(LVErrorCode)code
Parameters
code |
错误码 |
---|
Declared In
LVRTCEngine.h
– OnAddRemoter:
required method
有成员加入的通知
- (void)OnAddRemoter:(LVUser *)user
Parameters
user |
成员列表 |
---|
Declared In
LVRTCEngine.h
– OnDeleteRemoter:
required method
有成员离开的通知
- (void)OnDeleteRemoter:(NSString *)uid
Parameters
uid |
离开用户 ID |
---|
Declared In
LVRTCEngine.h
– OnMixComplete:
required method
远端混流完成的回调,用户可以通过调用混乱方法在远端进行音视频混流,参考 mixStream
- (void)OnMixComplete:(LVErrorCode)code
Parameters
code |
混流结果 |
---|
Declared In
LVRTCEngine.h
– OnAudioData:audio_data:bits_per_sample:sample_rate:number_of_channels:number_of_frames:
required method
单路音频流回调
- (void)OnAudioData:(NSString *)uid audio_data:(const void *)audio_data bits_per_sample:(int)bits_per_sample sample_rate:(int)sample_rate number_of_channels:(size_t)number_of_channels number_of_frames:(size_t)number_of_frames
Parameters
uid |
该路音频的用户 ID |
---|---|
audio_data |
音频数据 |
bits_per_sample |
PCM 位深 |
sample_rate |
采样率 |
number_of_channels |
通道数 |
number_of_frames |
帧数量 |
Declared In
LVRTCEngine.h
– OnAudioMixStream:samples:nchannel:samplesPerChannel:flag:
required method
混音录音数据回调,该方法需要打开录音功能才会触发回调 setAudioRecordFlag:
- (void)OnAudioMixStream:(const int16_t *)data samples:(int)samples nchannel:(int)nchannel samplesPerChannel:(int)samplesPerChannel flag:(LVAudioRecordType)flag
Parameters
data |
pcm 数据 |
---|---|
samples |
数据长度 |
nchannel |
通道数据 |
samplesPerChannel |
每声道采样数 |
flag |
类型 |
Declared In
LVRTCEngine.h
– OnPublishQualityUpdate:
required method
发布资源质量状态变化的通知,SDK 内部会定时统计推流的质量信息,APP 可以实现该方法获取推流的视频质量信息统计,回调的频率可以通过 +setPublishQualityMonitorCycle 进行设置
- (void)OnPublishQualityUpdate:(LVVideoStatistic *)quality
Parameters
quality |
质量信息 |
---|
Declared In
LVRTCEngine.h
– OnPlayQualityUpate:userId:
required method
播放质量变化的通知,SDK 内部会定时统计拉流质量信息,APP 可以实现该方法获取拉流的视频质量信息统计,回调的频率可以通过 +setPlayQualityMonitorCycle 进行设置
- (void)OnPlayQualityUpate:(LVVideoStatistic *)quality userId:(NSString *)userId
Parameters
quality |
质量信息 |
---|---|
userId |
用户 ID |
Declared In
LVRTCEngine.h
– OnPublishStateUpdate:
required method
发布资源状态变更的通知,调用 startPublishing 之后会触发该方法回调,发布资源状态的变更会通过该方法进行通知
- (void)OnPublishStateUpdate:(LVErrorCode)code
Parameters
code |
状态码 |
---|
Declared In
LVRTCEngine.h
– OnPlayStateUpdate:userId:
required method
播放状态变化的通知,调用 startPlayingStream: 方法之后,播放状态的变更会通过该方法进行通知
- (void)OnPlayStateUpdate:(LVErrorCode)code userId:(NSString *)userId
Parameters
code |
状态码 |
---|---|
userId |
用户 ID |
Declared In
LVRTCEngine.h
– OnAudioVolumeUpdate:
required method
远端用户音量变化的通知,该回调通需要调用打开音量变化监听方法才会生效 startSoundLevelMonitor,该回调频率可以调用 startSoundLevelMonitor:
- (void)OnAudioVolumeUpdate:(NSArray<LVAudioVolume*> *)soundLevels
Parameters
soundLevels |
远端用户音量信息 |
---|
Declared In
LVRTCEngine.h
– OnMediaSideInfoInPublishVideoFrame:
是否需要在视频帧上附加其他媒体信息
- (NSString *)OnMediaSideInfoInPublishVideoFrame:(NSUInteger)timestamp
Parameters
timestamp |
当前要发送数据帧的时间戳 |
---|
Return Value
请返回要随当前视频帧发送的附加数据 (字符串最长长度 24 个字符)
Declared In
LVRTCEngine.h
– OnDrawFrame:uid:sei:
收到远端视频数据回调,如果为 SDK 设置了渲染视图,SDK 内部会自动将该视频帧渲染出来
- (int64_t)OnDrawFrame:(CVPixelBufferRef)pixelBuffer uid:(NSString *)uid sei:(NSString *)sei
Parameters
pixelBuffer |
已解码的视频数据 |
---|---|
uid |
用户 ID |
sei |
随视频数据携带的附加数据信息 |
Return Value
建议返回当前渲染完成的时间戳,用以统计渲染延迟
Discussion
注:如果用户实现该接口,则 SDK 内部的远端视频渲染会自动实现,渲染完全由外部进行实现
Declared In
LVRTCEngine.h
– OnCaptureVideoFrame:
SDK 内部采集数据回调
- (CMSampleBufferRef)OnCaptureVideoFrame:(CMSampleBufferRef)videoFrame
Parameters
videoFrame |
视频原始数据 |
---|
Return Value
处理后的视频数据,SDK 内部不会调用 CFRetain 增加引用计数, 会调用 CFRelease 减少引用计数, 视频开发者创建的视频对象
Declared In
LVRTCEngine.h
– OnKickOff:roomId:
用户被踢出房间
- (void)OnKickOff:(NSInteger)reason roomId:(NSString *)roomId
Parameters
reason |
被踢原因 |
---|---|
roomId |
房间号 |
Declared In
LVRTCEngine.h
– AudioMixerCurrentPlayingTime:
混音播放器当前播放时长
- (void)AudioMixerCurrentPlayingTime:(int)time_ms
Parameters
time_ms |
播放时长 |
---|
Declared In
LVRTCEngine.h
– AudioMixerPlayerDidFinished
混音播放器当前音频播放结束
- (void)AudioMixerPlayerDidFinished
Declared In
LVRTCEngine.h
– OnReceivedFirstVideoFrame:streamId:
收到视频首帧回调通知事件
- (void)OnReceivedFirstVideoFrame:(NSString *)userId streamId:(NSString *)streamId
Parameters
userId |
视频发送者用户 ID |
---|---|
streamId |
流 ID,默认为空字符串,如果使用自定义视频流时为自定义视频流对应的流名称 |
Declared In
LVRTCEngine.h
– OnReceivedFirstAudioFrame:streamId:
收到视频首帧回调通知事件
- (void)OnReceivedFirstAudioFrame:(NSString *)userId streamId:(NSString *)streamId
Parameters
userId |
视频发送者用户 ID |
---|---|
streamId |
流 ID,默认为空字符串,如果使用自定义视频流时为自定义视频流对应的流名称 |
Declared In
LVRTCEngine.h