PLVChannelClassManager

Objective-C

@interface PLVChannelClassManager : NSObject

Swift

class PLVChannelClassManager : NSObject

频道上下课状态管理器

可配置项

状态

数据

  • 场次Id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *_Nonnull sessionId;

    Swift

    var sessionId: String { get }
  • 获取到的 开始推流时间戳 (单位毫秒;非 PLVChannelLiveStreamState_Live 状态下,可能获取到上一场次数值)

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval pushtimeTimestamp;

    Swift

    var pushtimeTimestamp: TimeInterval { get }
  • 获取到的 已推流时长 (单位毫秒;非 PLVChannelLiveStreamState_Live 状态下,可能获取到上一场次数值)

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval pushDuration;

    Swift

    var pushDuration: TimeInterval { get }
  • 当前 已推流时长 (单位秒,带小数,可精确至毫秒;非 PLVChannelLiveStreamState_Live 状态下,不建议参考此数值)

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval currentPushDuration;

    Swift

    var currentPushDuration: TimeInterval { get }

[ 方法 ]

  • 创建道上下课状态管理器

    Declaration

    Objective-C

    - (nonnull instancetype)initWithChannelId:(nonnull NSString *)channelId;

    Swift

    init(channelId: String)

    Parameters

    channelId

    频道号ID

  • 开始监听 ‘流状态’ 变化

    Note

    开始监听后,将定时触发 ‘流状态请求成功Block’ 或 ‘流状态请求失败Block’; 随着 PLVChannelClassManager对象 被释放,内部计时器将自行释放,无需要求必须调用 [stopObserveStreamState] 方法;

    Declaration

    Objective-C

    - (void)startObserveStreamStateWithStream:(nonnull NSString *)stream
                                   completion:
                                       (nonnull void (^)(PLVChannelLiveStreamState,
                                                         BOOL))completion
                                      failure:(nonnull void (^)(NSError *_Nonnull))
                                                  failure;

    Swift

    func startObserveStreamState(withStream stream: String, completion: @escaping (PLVChannelLiveStreamState, Bool) -> Void, failure: @escaping (Error) -> Void)

    Parameters

    stream

    流名

    completion

    流状态请求成功Block

    failure

    流状态请求失败Block

  • 停止监听 ‘流状态’ 变化

    Note

    随着 PLVChannelClassManager对象 被释放,内部计时器将自行释放,无需要求必须调用 [stopObserveStreamState] 方法; 若是不希望释放 PLVChannelClassManager对象,而又不再需要监听 ‘流状态’ 变化,则可使用该方法;

    Declaration

    Objective-C

    - (void)stopObserveStreamState;

    Swift

    func stopObserveStreamState()