PLVChannelClassManager
Objective-C
@interface PLVChannelClassManager : NSObject
Swift
class PLVChannelClassManager : NSObject
频道上下课状态管理器
-
delegate
Declaration
Objective-C
@property (nonatomic, weak) id<PLVChannelClassManagerDelegate> _Nullable delegate;
Swift
weak var delegate: PLVChannelClassManagerDelegate? { get set }
-
当前频道的 ‘直播流状态’
Note
枚举类型详见 PLVLiveDefine.hDeclaration
Objective-C
@property (nonatomic, readonly) PLVChannelLiveStreamState currentStreamState;
Swift
var currentStreamState: PLVChannelLiveStreamState { get }
-
场次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()