PLVRTCStreamerManagerDelegate

Objective-C

@protocol PLVRTCStreamerManagerDelegate <NSObject>

Swift

protocol PLVRTCStreamerManagerDelegate : NSObjectProtocol

PLVRTCStreamerManager 的 Delegate

RTC房间事件

CDN推流事件

  • ‘是否推流已开始’状态 发生变化

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
        pushStreamStartedDidChanged:(BOOL)pushStreamStarted;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, pushStreamStartedDidChanged pushStreamStarted: Bool)

    Parameters

    manager

    RTC 推流管理器

    pushStreamStarted

    当前 ‘是否推流已开始’ 状态

  • 当前 ’已有效推流时长‘ 定时回调

    Note

    仅在属性 [pushStreamStarted] 为 YES 时,每1秒回调通知一次最新值; 在即将 清零重置 前,会回调一次 最终的数值,无论此刻是否已间隔足够1秒; 在 清零重置 后,也将回调一次;

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
        currentPushStreamValidDuration:(NSTimeInterval)pushStreamValidDuration;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, currentPushStreamValidDuration pushStreamValidDuration: TimeInterval)

    Parameters

    manager

    RTC 推流管理器

    pushStreamValidDuration

    已有效推流时长 (单位秒,带小数,可精确至毫秒)

  • 当前 ’单次重连时长‘ 定时回调

    Note

    仅在属性 [pushStreamStarted] 为 YES 时,每1秒回调通知一次最新值; 在即将 清零重置 前,会回调一次 最终的数值,无论此刻是否已间隔足够1秒; 在 清零重置 后,也将回调一次;

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
        currentReconnectingThisTimeDuration:(NSInteger)reconnectingThisTimeDuration;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, currentReconnectingThisTimeDuration reconnectingThisTimeDuration: Int)

    Parameters

    manager

    RTC 推流管理器

    reconnectingThisTimeDuration

    单次重连时长 (单位秒,带小数,可精确至毫秒)

  • 更新 混流布局 失败回调

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
        updateMixLayoutDidOccurError:(PLVRTCStreamerMixLayoutType)type;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, updateMixLayoutDidOccurError type: PLVRTCStreamerMixLayoutType)

    Parameters

    manager

    RTC 推流管理器

    type

    当前混流布局

本地用户硬件事件

  • 本地声音监测回调

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
                  localVoiceValue:(CGFloat)localVoiceValue
        receivedLocalAudibleVoice:(BOOL)voiceAudible;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, localVoiceValue: Double, receivedLocalAudibleVoice voiceAudible: Bool)

    Parameters

    manager

    连麦管理器

    localVoiceValue

    本地声音音量值;取值范围为 0.0 ~ 1.0

    voiceAudible

    是否接收到本地可听得见的声音(以 localVoiceValue 是否大于 0.156 为准;若需以其他值为准,可自行根据 localVoiceValue 作判断)

远端用户事件

  • 远端用户 加入RTC频道回调

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
                   didJoinedOfUid:(nonnull NSString *)uid;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, didJoinedOfUid uid: String)

    Parameters

    manager

    RTC 推流管理器

    uid

    远端用户id

  • 远端用户 退出RTC频道回调

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
                  didOfflineOfUid:(nonnull NSString *)uid;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, didOfflineOfUid uid: String)

    Parameters

    manager

    RTC 推流管理器

    uid

    远端用户id

  • 远端用户 ’音频流禁用状态‘ 发生改变

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
                       remoteUser:(nonnull NSString *)userRTCId
                       audioMuted:(BOOL)audioMuted;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, remoteUser userRTCId: String, audioMuted: Bool)

    Parameters

    manager

    RTC 推流管理器

    userRTCId

    远端用户的RTCId

    audioMuted

    当前 ’音频流是否禁用‘

  • 远端用户 ’视频流禁用状态‘ 发生改变

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
                       remoteUser:(nonnull NSString *)userRTCId
                       videoMuted:(BOOL)videoMuted;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, remoteUser userRTCId: String, videoMuted: Bool)

    Parameters

    manager

    RTC 推流管理器

    userRTCId

    远端用户的RTCId

    videoMuted

    当前 ’视频流是否禁用‘

全部用户事件

  • 全部连麦成员的音频音量 回调

    Note

    该回调的时间间隔约为 100ms~300ms

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
        reportAudioVolumeOfSpeakers:
            (nonnull NSDictionary<NSString *, NSNumber *> *)volumeDict;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, reportAudioVolumeOfSpeakers volumeDict: [String : NSNumber])

    Parameters

    manager

    RTC 推流管理器

    volumeDict

    连麦成员音量字典 (key:用户连麦ID,value:对应的流的音量值;value取值范围为 0.0 ~ 1.0)

屏幕共享事件

管理器状态事件

  • 推流管理器 ‘发生错误’ 回调

    Declaration

    Objective-C

    - (void)plvRTCStreamerManager:(nonnull PLVRTCStreamerManager *)manager
                    didOccurError:(nonnull NSError *)error;

    Swift

    optional func plvRTCStreamerManager(_ manager: PLVRTCStreamerManager, didOccurError error: Error)

    Parameters

    manager

    RTC 推流管理器

    error

    错误对象 (error.code 对应 PLVRTCStreamerManagerErrorCode 错误码;)

美颜处理事件