Protocols
The following protocols are available globally.
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVChatroomManagerProtocol <NSObject> @optional /// 发送消息包含严禁词时触发 /// @param message 后端返回的message提示文本 /// @param word 触发的严禁词 /// @note 该回调会在全局队列中执行 - (void)chatroomManager_receiveWarning:(NSString *)message prohibitWord:(NSString *)word; /// 发送图片违规时触发 /// @param msgId 后端返回的消息ID /// @note 该回调会在全局队列中执行 - (void)chatroomManager_receiveImageWarningWithMsgId:(NSString *)msgId; /// 发送图片失败时触发 /// @param message 图片消息数据模型 - (void)chatroomManager_sendImageMessageFaild:(PLVImageMessage *)message; /// 发送图片成功时(收到socket消息回调)触发 /// @param message 图片消息数据模型(已更新了数据模型中的msgId字段) - (void)chatroomManager_sendImageMessageSuccess:(PLVImageMessage *)message; /// 图片消息中的图片上传进度发生变化时触发 /// @param message 图片消息模型 /// @param progress 图片上传进度(大于0小于等于1) - (void)chatroomManager_sendImageMessage:(PLVImageMessage *)message updateProgress:(CGFloat)progress; @end
Swift
protocol PLVChatroomManagerProtocol : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVPlaybackMessageManagerDelegate <NSObject> /// 首次获取回放数据的分段信息后触发 /// @param success YES-已获取到回放数据分段信息 NO-获取数据失败或获取到的数据为空 - (void)loadMessageInfoSuccess:(BOOL)success playbackMessageManager:(PLVPlaybackMessageManager *)manager; /// 定时获取当前视频播放时间节点 - (NSTimeInterval)currentPlaybackTimeForPlaybackMessageManager:(PLVPlaybackMessageManager *)manager; /// 方法 '-loadMorePlaybackMessagBefore:' 触发,返回获取到的消息数组 - (void)loadMoreHistoryMessagesSuccess:(NSArray <PLVPlaybackMessage *>*)playbackMessags playbackMessageManager:(PLVPlaybackMessageManager *)manager; @end
Swift
protocol PLVPlaybackMessageManagerDelegate : NSObjectProtocol
-
PLVChannelClassManager 的 Delegate
See moreDeclaration
Objective-C
@protocol PLVChannelClassManagerDelegate <NSObject>
Swift
protocol PLVChannelClassManagerDelegate : NSObjectProtocol
-
Declaration
Objective-C
@protocol PLVHiClassManagerDelegate <NSObject>
Swift
protocol PLVHiClassManagerDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVWErrorManagerProtocol <NSObject> @optional - (NSString *)customLocalizedDescriptionWithModul:(PLVFErrorCodeModul)modul code:(NSInteger)code; - (NSString *)customHelpAnchorErrorWithModul:(PLVFErrorCodeModul)modul code:(NSInteger)code; @end
Swift
protocol PLVWErrorManagerProtocol : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVInteractBaseAppDelegate <NSObject> - (void)plvInteractAppRequirePortraitScreen:(PLVInteractBaseApp *)interactApp; - (void)plvInteractApp:(PLVInteractBaseApp *)interactApp webviewShow:(BOOL)show; @end
Swift
protocol PLVInteractBaseAppDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVInteractWebviewDelegate <NSObject> - (void)plvInteractWebview:(PLVInteractWebview *)interactWebview didReceiveInteractMessageString:(NSString *)msgString jsonDict:(NSDictionary *)jsonDict; @end
Swift
protocol PLVInteractWebviewDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVContainerWebViewBridgeDelegate <NSObject> /// 刷新最小化的容器(ppt、word各类文档统称)数据 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didRefreshMinimizeContainerDataWithJsonObject:(id)jsonObject; /// 刷新打开的PPT容器数量 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didRefreshPptContainerTotalWithJsonObject:(id)jsonObject; /// 刷新画笔工具权限 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didRefreshBrushToolStatusWithJsonObject:(id)jsonObject; /// 准备开始编辑文字 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge willStartEditTextWithJsonObject:(id)jsonObject; /// 更新画笔工具类型 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didChangeApplianceType:(PLVContainerApplianceType)applianceType; /// 更新画笔颜色 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didChangeStrokeHexColor:(NSString *)strokeHexColor; @optional /// webView 需要 native 发送消息给 socket 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didSendSocketEventWithJsonObject:(id)jsonObject DEPRECATED_MSG_ATTRIBUTE("已废弃,由父类PLVSocketWebViewBridge进行处理"); /// 更新文本大小 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didChangeFontSize:(CGFloat)fontSize; /// 更新线条宽度 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didChangeLineWidth:(CGFloat)lineWidth; /// 更新画板缩放百分比 时调用 - (void)containerWebViewBridge:(PLVContainerWebViewBridge *)containerWebViewBridge didChangeZoomPercent:(CGFloat)percent; @end
Swift
protocol PLVContainerWebViewBridgeDelegate : NSObjectProtocol
-
互动模块 WebSDK Bridge 的回调 (不能保证在主线程回调)
See moreDeclaration
Objective-C
@protocol PLVInteractWebViewBridgeDelegate <NSObject>
Swift
protocol PLVInteractWebViewBridgeDelegate : NSObjectProtocol
-
商品列表模块 WebSDK Bridge 的回调 (不能保证在主线程回调)
See moreDeclaration
Objective-C
@protocol PLVProductWebViewBridgeDelegate <NSObject>
Swift
protocol PLVProductWebViewBridgeDelegate
-
问答模块 WebSDK Bridge 的回调 (不能保证在主线程回调)
See moreDeclaration
Objective-C
@protocol PLVQAWebViewBridgeDelegate <NSObject>
Swift
protocol PLVQAWebViewBridgeDelegate
-
商品列表模块 WebSDK Bridge 的回调 (不能保证在主线程回调)
See moreDeclaration
Objective-C
@protocol PLVStreamerCommodityWebViewBridgeDelegate <NSObject>
Swift
protocol PLVStreamerCommodityWebViewBridgeDelegate
-
开播端互动模块 WebSDK Bridge 的回调 (不能保证在主线程回调)
See moreDeclaration
Objective-C
@protocol PLVStreamerInteractWebViewBridgeDelegate <NSObject>
Swift
protocol PLVStreamerInteractWebViewBridgeDelegate
-
图文直播模块 WebSDK Bridge 的回调 (不能保证在主线程回调)
See moreDeclaration
Objective-C
@protocol PLVTuWenWebViewBridgeDelegate <NSObject>
Swift
protocol PLVTuWenWebViewBridgeDelegate
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVWebViewBridgeProtocol <NSObject> @optional #pragma mark 观看场景回调 /// webView 上PPT视图准备完毕时调用 - (void)jsbridge_PPTHadPrepare; /// [回放场景] PPT视图 需要获取视频播放器的当前播放时间点 /// @return NSTimeInterval 当前播放时间点 - (NSTimeInterval)jsbridge_getCurrentPlaybackTime; /// [回放场景] PPT视图 讲师发起PPT位置切换 /// @note 回放中,将复现讲师对PPT的位置操作。收到此回调时,外部应根据 status 值相应切换PPT视图位置 /// @param status PPT是否需要切换至主窗口 (YES-PPT需要切至主窗口 NO-PPT需要切至小窗,视频需要切至主窗口) - (void)jsbridge_changePPTPosition:(BOOL)status; /// [回放场景] webView 上的文档翻页时调用 /// @note 观众本地翻页或讲师远端翻页都会执行此方法 - (void)jsbridge_pageStatusChangeWithAutoId:(NSUInteger)autoId pageNumber:(NSUInteger)pageNumber totalPage:(NSUInteger)totalPage pptStep:(NSUInteger)step maxNextNumber:(NSUInteger)maxNextNumber; #pragma mark 推流场景回调 /// webView 需要发送消息给 socket 时调用 - (void)jsbridge_sendSocketEventWithJson:(id)jsonObject; /// webView 上的文档切换时调用 - (void)jsbridge_documentChangeWithAutoId:(NSUInteger)autoId imageUrls:(NSArray *)imageUrls fileName:(NSString * _Nullable)fileName; /// webView 上的文档翻页时调用 - (void)jsbridge_pageStatusChangeWithAutoId:(NSUInteger)autoId pageNumber:(NSUInteger)pageNumber totalPage:(NSUInteger)totalPage pptStep:(NSUInteger)step; /// webView 上准备输入文字时调用 - (void)jsbridge_documentInputWithText:(NSString *)inputText textColor:(NSString *)textColor; /// webView 上白板预览图更新时调用 - (void)jsbridge_updateWhiteboardImageData:(NSData *)imageData pageNumber:(NSUInteger)pageNumber; /// webView 上白板或者PPT缩放时调用 /// @param zoomRatio 缩放的比例 (100 表示 100%,200 表示 200%) - (void)jsbridge_updateWhiteboardPPTZoomRatio:(NSInteger)zoomRatio; @end
Swift
protocol PLVWebViewBridgeProtocol : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVLoganManagerDelegate <NSObject> - (void)loganManagerCheckAndReportIfNeedWithError:(NSError *)error; @end
Swift
protocol PLVLoganManagerDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVPPTWebviewDelegate <NSObject> @optional #pragma mark - 通用回调 /// PPT视图 已准备完毕 /// /// @param pptWebview PPT视图对象 - (void)plvPPTWebviewHadPrepared:(PLVPPTWebview *)pptWebview; #pragma mark - 直播场景回调 /// [直播场景] PPT视图 发送笔触数据 /// /// @note 开启画笔权限的连麦学员,在操作绘画后,需将生成的笔触数据,回调给外部处理; /// /// @param pptWebview PPT视图对象 /// @param jsonData PPT视图对象 - (void)plvPPTWebview:(PLVPPTWebview *)pptWebview sendPaintInfo:(NSString *)jsonData; #pragma mark - 回放场景回调 /// [回放场景] PPT视图 需要获取视频播放器的当前播放时间点 /// /// @param pptWebview PPT视图对象 /// /// @return NSTimeInterval 当前播放时间点 - (NSTimeInterval)plvPPTWebviewGetPlayerCurrentTime:(PLVPPTWebview *)pptWebview; /// [回放场景] PPT视图 讲师发起PPT位置切换 /// /// @note 回放中,将复现讲师对PPT的位置操作。收到此回调时,外部应根据 status 值相应切换PPT视图位置 /// /// @param pptWebview PPT视图对象 /// @param status PPT是否需要切换至主窗口 (YES:PPT需要切至主窗口 NO:PPT需要切至小窗,视频需要切至主窗口) - (void)plvPPTWebview:(PLVPPTWebview *)pptWebview changePPTPosition:(BOOL)status; @end
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVPlayerDelegate <NSObject> @optional /// 播放器加载前,回调options配置对象 /// /// @note 播放器在加载前,将触发此回调,并附带 PLVOptions,有自定义配置需求时,可对此对象进行参数设置。 /// 当集成的是 PLVIJKPlayer 时,请按 PLVIJKFFOptions 来处理 options; /// 当集成的是 IJKMediaFramework 时,请按 IJKFFOptions 来处理 options; /// /// @param player 播放器对象 /// @param options 播放配置对象 - (PLVOptions *)plvPlayer:(PLVPlayer *)player playerWillLoad:(PLVPlayerMainSubType)mainSubType withOptions:(PLVOptions *)options; /// 播放器 已准备好播放 /// /// @param player 播放器对象 /// @param mainSubType 播放器主副类型 - (void)plvPlayer:(PLVPlayer *)player playerIsPreparedToPlay:(PLVPlayerMainSubType)mainSubType; /// 播放器 ’加载状态‘ 发生改变 /// /// @param player 播放器对象 /// @param mainSubType 播放器主副类型 - (void)plvPlayer:(PLVPlayer *)player playerLoadStateDidChange:(PLVPlayerMainSubType)mainSubType; /// 播放器 ’播放状态‘ 发生改变 /// /// @param player 播放器对象 /// @param mainSubType 播放器主副类型 - (void)plvPlayer:(PLVPlayer *)player playerPlaybackStateDidChange:(PLVPlayerMainSubType)mainSubType; /// 播放器 ’是否正在播放中‘状态 发生改变 /// /// @param player 播放器对象 /// @param mainSubType 播放器主副类型 /// @param playing 当前是否正在播放 - (void)plvPlayer:(PLVPlayer *)player playerPlayingStateDidChange:(PLVPlayerMainSubType)mainSubType playing:(BOOL)playing; /// 播放器 播放结束 /// /// @param player 播放器对象 /// @param mainSubType 播放器主副类型 /// @param finishReson 播放结束原因 - (void)plvPlayer:(PLVPlayer *)player playerPlaybackDidFinish:(PLVPlayerMainSubType)mainSubType finishReson:(IJKMPMovieFinishReason)finishReson; /// 播放器 已销毁 /// /// @param player 播放器对象 /// @param mainSubType 播放器主副类型 - (void)plvPlayer:(PLVPlayer *)player playerDidDestroyed:(PLVPlayerMainSubType)mainSubType; /// 主播放器 ‘SEI信息’ 发生改变 /// /// @param player 播放器对象 /// @param timeStamp 附带的时间戳信息 - (void)plvPlayer:(PLVPlayer *)player playerSeiDidChanged:(long)timeStamp; @end
Swift
protocol PLVPlayerDelegate : NSObjectProtocol
-
画中画恢复代理
See moreDeclaration
Objective-C
@protocol PLVLivePictureInPictureRestoreDelegate <NSObject>
Swift
protocol PLVLivePictureInPictureRestoreDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVLivePlaybackPlayerDelegate <NSObject> @optional /// 直播回放播放器 发生错误 /// /// @param livePlaybackPlayer 直播回放播放器 /// @param error 错误信息对象 (可能为nil;error.code 可详见 PLVFPlayErrorCodeGenerator.h) - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer loadMainPlayerFailureWithError:(NSError * _Nullable)error; /// 直播回放播放器 需获知外部 ‘当前本地缓存’ /// /// @note 此回调不保证在主线程触发 /// /// @param livePlaybackPlayer 直播回放播放器 /// @param videoId 视频唯一标识,当为暂存时代表fileId,当为回放时代表vid /// @param channelId 频道号 /// @param listType playback-回放列表,vod-点播列表; 默认普通直播场景为vod,三分屏为playback /// /// @return PLVPlaybackVideoInfoModel 需返回 ‘当前本地缓存‘ 的数据模型 - (PLVPlaybackLocalVideoInfoModel *)plvLivePlaybackPlayerGetPlaybackCache:(PLVLivePlaybackPlayer *)livePlaybackPlayer videoId:(NSString * _Nullable)videoId channelId:(NSString * _Nullable)channelId listType:(NSString * _Nullable)listType isRecord:(BOOL)isRecord; /// 直播回放播放器 定时返回当前播放进度 /// /// @param livePlaybackPlayer 直播回放播放器 /// @param downloadProgress 已缓存进度 (0.0 ~ 1.0) /// @param playedProgress 已播放进度 (0.0 ~ 1.0) /// @param playedTimeString 当前播放时间点字符串 (示例 "01:23") /// @param durationTimeString 总时长字符串 (示例 "01:23") - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer downloadProgress:(CGFloat)downloadProgress playedProgress:(CGFloat)playedProgress playedTimeString:(NSString *)playedTimeString durationTimeString:(NSString *)durationTimeString; /// 直播回放播放器 ‘频道信息’ 发生改变 /// /// @param livePlaybackPlayer 直播回放播放器 /// @param channelInfo 当前最新 ’频道信息‘ 对象 - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer channelInfoDidUpdated:(PLVChannelInfoModel *)channelInfo; /// 直播回放播放器 ‘视频信息’ 发生改变 /// /// @param livePlaybackPlayer 直播回放播放器 /// @param playbackVideoInfo 当前最新 ’频道信息‘ 对象 - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer playbackVideoInfoDidUpdated:(PLVPlaybackVideoInfoModel *)playbackVideoInfo; /// 直播回放播放器 ‘本地视频信息’ 发生改变 /// /// @param livePlaybackPlayer 直播回放播放器 /// @param localPlaybackVideoInfo 当前最新 ’本地频道信息‘ 对象 - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer localPlaybackVideoInfoDidUpdated:(PLVPlaybackLocalVideoInfoModel *)localPlaybackVideoInfo; /// 直播回放播放器“章节功能”开启 - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer sectionEnabled:(BOOL)sectionEnabled recordEnabled:(BOOL)recordEnabled; /// 直播回放播放器“回放列表功能”开启 - (void)plvLivePlaybackPlayer:(PLVLivePlaybackPlayer *)livePlaybackPlayer playbackListEnabled:(BOOL)playbackListEnabled vodList:(BOOL)vodList; @end
Swift
protocol PLVLivePlaybackPlayerDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVLivePlayerDelegate <NSObject> @optional /// 直播播放器 ‘加载状态’ 发生改变 /// /// @param livePlayer 直播播放器 /// @param loadState 当前加载状态 - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer loadStateDidChanged:(PLVLivePlayerLoadState)loadState; /// 直播播放器 ‘流状态’ 更新 /// /// @param livePlayer 直播播放器 /// @param newestStreamState 当前最新的 ’流状态’ /// @param streamStateDidChanged ’流状态‘ 相对上一次 是否发生变化 - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer streamStateUpdate:(PLVChannelLiveStreamState)newestStreamState streamStateDidChanged:(BOOL)streamStateDidChanged; /// 直播播放器 发生错误 /// /// @param livePlayer 直播播放器 /// @param error 错误信息对象 (可能为nil;error.code 可详见 PLVFPlayErrorCodeGenerator.h) - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer loadMainPlayerFailureWithError:(NSError * _Nullable)error; /// 直播播放器 ‘频道信息’ 发生改变 /// /// @param livePlayer 直播播放器 /// @param channelInfo 当前最新 ’频道信息‘ 对象 - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer channelInfoDidUpdated:(PLVChannelInfoModel *)channelInfo; /// 直播播放器 ‘码率可选项、当前码率、线路可选数、当前线路‘ 更新 /// /// @note 此回调触发时,可同时在 [channelInfo] 属性中,读取出 ‘码率信息、线路信息’ 的最新值; /// 调用 [switchToLineIndex:codeRate:] 切换 ’当前线路‘ 或 ’当前码率‘,会触发此回调; /// [channelInfo] 刷新时,也会触发此回调,用于告知当前 ‘码率信息、线路信息’ 的最新值; /// /// @param livePlayer 直播播放器 /// @param codeRateOptions 码率/清晰度 可选项字符串数组 /// @param currentCodeRate 当前 码率/清晰度 /// @param lineNum 线路可选数 /// @param currentLineIndex 当前线路下标 (由 0 起始) - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer codeRateOptions:(NSArray <NSString *> *)codeRateOptions currentCodeRate:(NSString *)currentCodeRate lineNum:(NSInteger)lineNum currentLineIndex:(NSInteger)currentLineIndex; /// 直播播放器 需获知外部 ‘当前是否正在连麦’ /// /// @note 此回调不保证在主线程触发 /// /// @param livePlayer 直播播放器 /// /// @return BOOL 需返回 ‘当前外部是否正在连麦’ 的状态布尔值 - (BOOL)plvLivePlayerGetInLinkMic:(PLVLivePlayer *)livePlayer; /// 直播播放器 需获知外部 ‘当前是否暂停观看无延迟’ /// /// @note 此回调不保证在主线程触发 /// /// @param livePlayer 直播播放器 /// /// @return BOOL 需返回 ‘当前外部是否正在连麦’ 的状态布尔值 - (BOOL)plvLivePlayerGetPausedWatchNoDelay:(PLVLivePlayer *)livePlayer; /// 直播播放器 需展示暖场图片 /// /// @param livePlayer 直播播放器 /// @param show 是否展示 (YES:展示 NO:隐藏) /// @param warmUpImageURLString 暖场图片链接地址 - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer showWarmUpImage:(BOOL)show warmUpImageURLString:(NSString * _Nullable)warmUpImageURLString; /// 直播播放器 快直播网络质量检测回调 /// /// @note 仅在 快直播观看 时会触发该回调(即 [quickLiveWatching]为YES时); /// /// @param livePlayer 直播播放器 /// @param netWorkQuality 网络质量 - (void)plvLivePlayer:(PLVLivePlayer *)livePlayer quickLiveNetworkQuality:(PLVLivePlayerQuickLiveNetworkQuality)netWorkQuality; @end
Swift
protocol PLVLivePlayerDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVLivePlayerPictureInPictureProtocol <NSObject> /// 播放器画中画代理 @property (nonatomic, weak) id <PLVLivePlayerPictureInPictureDelegate> pictureInPictureDelegate; /// 是否允许在切换到后台时自动启动画中画,默认NO,PLVLivePictureInPictureMode_IJKPlayer模式有效 @property (nonatomic, assign) BOOL canAutoStartPictureInPicture; /// 开启画中画功能 /// @param originView 画中画播放器的起始视图,PLVLivePictureInPictureMode_IJKPlayer模式下 可为空 - (void)startPictureInPictureFromOriginView:(UIView *)originView; /// 关闭画中画功能 - (void)stopPictureInPicture; @end
Swift
protocol PLVLivePlayerPictureInPictureProtocol : NSObjectProtocol
-
画中画代理
See moreDeclaration
Objective-C
@protocol PLVLivePlayerPictureInPictureDelegate <NSObject>
Swift
protocol PLVLivePlayerPictureInPictureDelegate : NSObjectProtocol
-
播放器代理
See moreDeclaration
Objective-C
@protocol PLVPublicStreamPlayerDelegate <NSObject>
Swift
protocol PLVPublicStreamPlayerDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVLinkMicManagerDelegate <NSObject> @optional #pragma mark 本地用户(自己)事件回调 /// 本地用户 加入RTC频道成功回调 /// /// @param manager 连麦管理器 /// @param channelID 加入频道ID /// @param uid 当前加入RTC用户的RTCId - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager joinRTCChannelComplete:(NSString * _Nonnull)channelID uid:(NSString *)uid; /// 本地用户 加入RTC频道失败回调 /// /// @note 目前只对 UCloud 生效 /// /// @param manager 连麦管理器 /// @param channelID 加入频道ID /// @param uid 当前加入RTC用户的RTCId - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager joinRTCChannelFailure:(NSString * _Nonnull)channelID uid:(NSString *)uid; /// 本地用户 退出RTC频道回调 /// /// @param manager 连麦管理器 /// @param channelID 退出频道ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager leaveRTCChannelComplete:(NSString * _Nonnull)channelID; /// 本地用户 连麦错误发生回调 /// /// @note 若自动退出RTC频道,则会触发 [leaveRTCChannelComplete:] 回调 /// /// @param manager 连麦管理器 /// @param errorCode 错误码 - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didOccurError:(NSInteger)errorCode; /// 本地用户 ’网络状态‘ 发生变化 /// /// @param manager 连麦管理器 /// @param networkQuality 当前 ‘网络状态’ 状态值 - (void)plvLinkMicManager:(PLVLinkMicManager *)manager networkQualityDidChanged:(PLVBLinkMicNetworkQuality)networkQuality; /// 本地用户 ’连麦状态‘ 发生变化 /// /// @param manager 连麦管理器 /// @param connectionState 当前 ‘连麦状态’ 状态值 - (void)plvLinkMicManager:(PLVLinkMicManager *)manager rtcConnectionStateDidChanged:(PLVBLinkMicConnectionStateType)connectionState; /// 当前 ’单次重连时长‘ 定时回调 /// /// @note 仅在属性 [hadJoinedRTC] 为 YES 时,每1秒回调通知一次最新值; /// 在即将 清零重置 前,会回调一次 最终的数值,无论此刻是否已间隔足够1秒; /// 在 清零重置 后,也将回调一次; /// @param manager 连麦管理器 /// @param reconnectingThisTimeDuration 单次重连时长 (单位秒,带小数,可精确至毫秒) - (void)plvLinkMicManager:(PLVLinkMicManager *)manager currentReconnectingThisTimeDuration:(NSInteger)reconnectingThisTimeDuration; #pragma mark 远端用户(别人)事件回调 /// 远端用户 加入RTC频道回调 /// /// @param manager 连麦管理器 /// @param uid 远端用户id - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didJoinedOfUid:(NSString *)uid; /// 远端用户 退出RTC频道回调 /// /// @param manager 连麦管理器 /// @param uid 远端用户id - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didOfflineOfUid:(NSString *)uid; /// 远端用户 音频流禁止状态更新回调 /// /// @param manager 连麦管理器 /// @param muted 音频流是否禁止 /// @param uid 禁止状态更新的用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didAudioMuted:(BOOL)muted byUid:(NSString *)uid; /// 远端用户 视频流禁止状态更新回调 /// /// @param manager 连麦管理器 /// @param muted 视频流是否禁止 /// @param uid 禁止状态更新的用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didVideoMuted:(BOOL)muted byUid:(NSString *)uid; /// 远端用户 音频流 ‘mute状态’ 更新回调 /// /// @param manager 连麦管理器 /// @param muted 音频流是否mute /// @param streamSourceType 流的源类型 /// @param uid mute状态更新对应的用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didAudioMuted:(BOOL)muted streamSourceType:(PLVBRTCSubscribeStreamSourceType)streamSourceType byUid:(NSString *)uid; /// 远端用户 视频流 ‘mute状态’ 更新回调 /// /// @param manager 连麦管理器 /// @param muted 视频流是否mute /// @param streamSourceType 流的源类型 /// @param uid mute状态更新的用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didVideoMuted:(BOOL)muted streamSourceType:(PLVBRTCSubscribeStreamSourceType)streamSourceType byUid:(NSString *)uid; /// 远端用户 可订阅流加入 /// /// @note 目前只对 UCloud 生效 /// /// @param manager 连麦管理器 /// @param uid 远端用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager didNewStreamJoinRoomOfUid:(NSString *)uid; /// 远端用户 流加入房间 回调 /// /// @param manager 连麦管理器 /// @param streamSourceType 流的源类型 /// @param userRTCId 流所属的用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager streamJoinRoom:(PLVBRTCSubscribeStreamSourceType)streamSourceType userRTCId:(NSString *)userRTCId; /// 远端用户 流离开房间 回调 /// /// @note 已订阅过的流离开房间,才会触发此回调;未曾订阅过的流离开房间,不触发此回调; /// /// @param manager 连麦管理器 /// @param streamSourceType 流的源类型 /// @param userRTCId 流所属的用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager streamLeaveRoom:(PLVBRTCSubscribeStreamSourceType)streamSourceType userRTCId:(NSString *)userRTCId; #pragma mark 通用(自己、别人) 事件回调 /// 远端用户 全部流已退出房间 /// /// @param manager 连麦管理器 /// @param uid 远端用户连麦ID - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager remoteUserTotalStreamsDidLeaveRoom:(NSString *)uid; /// 全部连麦成员的音频音量 回调 /// /// @note 该回调的时间间隔约为 100ms~300ms /// /// @param manager 连麦管理器 /// @param volumeDict 连麦成员音量字典 (key:用户连麦ID,value:对应的流的音量值;value取值范围为 0.0 ~ 1.0) - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager reportAudioVolumeOfSpeakers:(NSDictionary<NSString *, NSNumber *> * _Nonnull)volumeDict; /// RTC频道内某位用户 ‘网络状态’ 发生改变回调 /// /// @param manager 连麦管理器 /// @param userRTCId 当前回调对应的用户RTCId /// @param txQuality 该用户的上行网络状态 /// @param rxQuality 该用户的下行网络状态 - (void)plvLinkMicManager:(PLVLinkMicManager * _Nonnull)manager userNetworkQualityDidChanged:(NSString *)userRTCId txQuality:(PLVBLinkMicNetworkQuality)txQuality rxQuality:(PLVBLinkMicNetworkQuality)rxQuality; /// 全部远端用户上行时延回调 /// /// @note 该回调的时间间隔约为 100ms~300ms /// /// @param manager 连麦管理器 /// @param rttDict 上行时延字典(key:用户连麦ID,value:时延 单位毫秒) - (void)plvLinkMicManager:(PLVLinkMicManager *)manager userRttDict:(NSDictionary <NSString *, NSNumber *> *)rttDict; @end
Swift
protocol PLVLinkMicManagerDelegate : NSObjectProtocol
-
PLVRTCStreamerManager 的 Delegate
See moreDeclaration
Objective-C
@protocol PLVRTCStreamerManagerDelegate <NSObject>
Swift
protocol PLVRTCStreamerManagerDelegate : NSObjectProtocol
-
Declaration
Objective-C
@protocol PLVSocketManagerProtocol <NSObject>
Swift
protocol PLVSocketManagerProtocol : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVDocumentUploadErrorDelegate <NSObject> - (void)uploadError:(NSError *)error; @end
Swift
protocol PLVDocumentUploadErrorDelegate : NSObjectProtocol
-
Undocumented
See moreDeclaration
Objective-C
@protocol PLVDocumentUploadResultDelegate <NSObject> /// 初次上传上传启动成功回调 - (void)uploadStartWithModel:(PLVDocumentUploadModel *)model; /// 上传中断重新上传启动成功/失败回调 - (void)uploadRestartSuccess:(BOOL)success model:(PLVDocumentUploadModel *)model; /// 失败重试重新上传启动成功/失败回调 - (void)uploadRetrySuccess:(BOOL)success model:(PLVDocumentUploadModel *)model; /// 上传成功/失败时回调 - (void)uploadSuccess:(BOOL)success model:(PLVDocumentUploadModel *)model; /// 清理所有上传中断任务时回调 - (void)updateUploadData; @end
Swift
protocol PLVDocumentUploadResultDelegate : NSObjectProtocol