Classes

The following classes are available globally.

  • 视频数据模型

    See more

    Declaration

    Objective-C

    @interface PLVVodVideo : NSObject

    Swift

    class PLVVodVideo : NSObject
  • 视频下载管理单例

    See more

    Declaration

    Objective-C

    @interface PLVVodDownloadManager : NSObject

    Swift

    class PLVVodDownloadManager : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodDownloadInfo : NSObject
    
    /// 唯一标识
    @property (nonatomic, copy, readonly) NSString *identifier;
    
    /// PLVVodVideo 对象
    @property (nonatomic, strong, readonly) PLVVodVideo *video;
    
    /// vid 便捷属性
    @property (nonatomic, copy, readonly) NSString *vid;
    
    /// 清晰度
    @property (nonatomic, assign, readonly) PLVVodQuality quality;
    
    /// 下载状态
    @property (nonatomic, assign, readonly) PLVVodDownloadState state;
    @property (nonatomic, copy) void (^stateDidChangeBlock)(PLVVodDownloadInfo *info);
    
    /// 下载速率(单位:byte/s)
    @property (nonatomic, assign, readonly) double bytesPerSeconds;
    @property (nonatomic, copy) void (^bytesPerSecondsDidChangeBlock)(PLVVodDownloadInfo *info);
    
    /// 下载进度(0-1)
    @property (nonatomic, assign, readonly) double progress;
    @property (nonatomic, copy) void (^progressDidChangeBlock)(PLVVodDownloadInfo *info);
    
    /// 解压进度(0-1)
    @property (nonatomic, assign, readonly) double unzipProgress;
    @property (nonatomic, copy) void (^unzipProgressDidChangeBlock)(PLVVodDownloadInfo *info);
    
    /// 下载错误
    @property (nonatomic, strong, readonly) NSError *error;
    
    /// 队列ID
    @property (nonatomic, assign, readonly) NSInteger downloadId;
    
    /// 文件类型,默认为视频
    @property (nonatomic, assign, readonly) PLVDownloadFileType fileType;
    
    /// 请求cdn资源时的唯一标志
    @property (nonatomic, copy, readonly) NSString *did;
    
    /// UI展示
    @property (nonatomic, copy, readonly) NSString *snapshot; // 封面
    @property (nonatomic, copy, readonly) NSString *title;    // 视频名称
    @property (nonatomic, assign, readonly) NSUInteger filesize; // 文件大小
    @property (nonatomic, assign, readonly) NSUInteger duration; // 视频时长
    
    @end

    Swift

    class PLVVodDownloadInfo : NSObject
  • 本地视频数据模型(PLVVodVideo 子类)

    See more

    Declaration

    Objective-C

    @interface PLVVodLocalVideo : PLVVodVideo

    Swift

    class PLVVodLocalVideo : PLVVodVideo
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodVideoParams : NSObject
    
    @property (nonatomic, copy) NSString *vid;  // 视频vid
    @property (nonatomic, assign) PLVDownloadFileType fileType; //文件类型
    
    // 创建对象
    + (PLVVodVideoParams *)videoParamsWithVid:(NSString *)vid fileType:(PLVDownloadFileType )fileType;
    
    @end

    Swift

    class PLVVodVideoParams : NSObject
  • viewlog 参数设置

    See more

    Declaration

    Objective-C

    @interface PLVVodViewerInfo : NSObject

    Swift

    class PLVVodViewerInfo : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodSettings : NSObject
    
    /// userid
    @property (nonatomic, copy, readonly) NSString *userid;
    
    /// readtoken
    @property (nonatomic, copy, readonly) NSString *readtoken;
    
    /// writetoken
    @property (nonatomic, copy, readonly) NSString *writetoken;
    
    /// secretkey
    @property (nonatomic, copy, readonly) NSString *secretkey;
    
    /// 子账号appid
    @property (nonatomic, copy, readonly) NSString *appid;
    
    /// 终端用户id
    @property (nonatomic, copy) NSString *viewerId;
    
    /// 终端用户昵称
    @property (nonatomic, copy) NSString *viewerName;
    
    /// 终端用户头像
    @property (nonatomic, copy) NSString *viewerAvatar;
    
    /// viewlog 参数设置
    @property (nonatomic, strong) PLVVodViewerInfo *viewerInfos;
    
    /// 终端用户播放令牌额外参数
    @property (nonatomic, copy) NSString *viewerTokenExtraParam;
    
    /// 是否启用多账户,默认 NO。开启后可播放、下载除了配置的账号以外的其他账号的非加密视频。
    @property (nonatomic, assign, getter=isMutilAccount) BOOL mutilAccount;
    
    /// 日志输出等级,默认 PLVVodLogLevelWithoutDebug
    @property (nonatomic, assign) PLVVodLogLevel logLevel;
    
    /// 是否启动 HTTPDNS,默认 YES.
    @property (nonatomic, assign) BOOL enableHttpDNS;
    /// 是否启用 IPV6,如果启用,将自动选择IP,取消HTTPDNS
    @property (nonatomic, assign) BOOL enableIPV6;
    /// 延迟启动 HttpDNS,enableHttpDNS 为 YES 时生效,默认 NO
    @property (class, nonatomic, assign) BOOL delayHttpDNS;
    /// 延迟启动 HttpDNS 的时间,delayHttpDNS 为 YES 时生效,默认 2(单位:秒)
    @property (class, nonatomic, assign) NSInteger delayHttpDNSTime;
    
    /// 错误回调
    @property (nonatomic, copy) void (^settingErrorHandler)(NSError *error);
    
    /**
     获取 PLVVodSettings 静态对象
    
     @return PLVVodSettings 静态对象
     */
    + (instancetype)sharedSettings;
    
    /**
     通过 userid、readtoken、writetoken、secretkey 配置账号
    
     @param userid userid
     @param readtoken readtoken
     @param writetoken writetoken
     @param secretkey secretkey
     @return 新的 PLVVodSettings 静态对象
     */
    + (instancetype)settingsWithUserid:(NSString *)userid readtoken:(NSString *)readtoken writetoken:(NSString *)writetoken secretkey:(NSString *)secretkey;
    
    /**
     使用加密串配置账号
    
     @param configString 加密串
     @param error 解密、配置过程的错误
     @return 新的 PLVVodSettings 静态对象
     */
    + (instancetype)settingsWithConfigString:(NSString *)configString error:(NSError **)error ;
    
    /**
     使用加密串、加密秘钥、加密向量配置账号
    
     @param configString 加密串
     @param key 加密秘钥
     @param iv 加密向量
     @param error 解密、配置过程的错误
     @return 新的 PLVVodSettings 静态对象
     */
    + (instancetype)settingsWithConfigString:(NSString *)configString key:(NSString *)key iv:(NSString *)iv error:(NSError **)error;
    
    /**
     
     通过appid,secretkey,总帐号userid 配置子帐号
     
     @param appId       子帐号appid
     @param secretKey   子帐号加密key
     @param userId      总帐号userid
     
     */
    + (instancetype)settingsWithAppId:(NSString *)appId secretKey:(NSString *)secretKey userId:(NSString *)userId;
    
    @end

    Swift

    class PLVVodSettings : NSObject
  • 广告数据模型

    See more

    Declaration

    Objective-C

    @interface PLVVodAd : NSObject

    Swift

    class PLVVodAd : NSObject
  • 问答数据模型

    See more

    Declaration

    Objective-C

    @interface PLVVodExam : NSObject

    Swift

    class PLVVodExam : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodPPTPage : NSObject
    
    @property (nonatomic, copy) NSString *title;
    
    @property (nonatomic, assign) NSInteger index;
    
    @property (nonatomic, assign) NSInteger timing;
    
    @property (nonatomic, copy) NSString *key;
    
    @property (nonatomic, copy) NSString *imageUrl;
    
    @property (nonatomic, copy) NSString *thumbImageUrl;
    
    - (BOOL)isLocalImage;
    
    - (UIImage *)localImage;
    
    @end

    Swift

    class PLVVodPPTPage : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodPPT : NSObject
    
    @property (nonatomic, copy) NSString *vid;
    
    @property (nonatomic, copy) NSDictionary <NSString *, PLVVodPPTPage *> * _Nullable pagesDict;
    
    @property (nonatomic, copy) NSArray <PLVVodPPTPage *>* _Nullable pages;
    
    /// 获取在线数据
    + (void)requestPPTWithVid:(NSString *)vid completion:(void (^)(PLVVodPPT * _Nullable ppt, NSError * _Nullable error))completion;
    /// 获取缓存数据
    + (void)requestCachePPTWithVid:(NSString *)vid completion:(void (^)(PLVVodPPT * _Nullable ppt, NSError * _Nullable error))completion;
    /// 已缓存
    + (BOOL)isExistWithVid:(NSString *)vid;
    
    @end

    Swift

    class PLVVodPPT : NSObject
  • 广告播放器

    See more

    Declaration

    Objective-C

    @interface PLVVodAdPlayerViewController

    Swift

    class PLVVodAdPlayerViewController
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodPlayerUtil : NSObject
    
    /**
     根据vid 返回上一次播放进度位置
     
     @param videoId 视频id
     
     @return 上一次播放进度位置,单位秒
     
     */
    
    + (NSTimeInterval )lastPositionWithVid:(NSString *)videoId;
    
    /**
     根据vid 返回保存上一次播放进度的时间戳
     
     @param videoId 视频id
     
     @return 保存上一次进度的时间戳,单位毫秒
     
     */
    + (NSTimeInterval )lastPositionTimestampWithVid:(NSString *)videoId;
    
    /**
     根据video模型,获取投屏加密视频的Key iv
     
     @param video 视频模型
     @param quality 当前所选码率
     
     */
    + (void)requestCastKeyIvWitVideo:(PLVVodVideo *)video quality:(NSInteger)quality completion:(void (^)(NSString * _Nullable key, NSString * _Nullable iv, NSError * _Nullable error))completion;
    
    @end

    Swift

    class PLVVodPlayerUtil : NSObject
  • 主视频播放器

    See more

    Declaration

    Objective-C

    @interface PLVVodPlayerViewController

    Swift

    class PLVVodPlayerViewController
  • logo 配置参数类

    See more

    Declaration

    Objective-C

    @interface PLVVodPlayerLogoParam : NSObject

    Swift

    class PLVVodPlayerLogoParam
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PLVVodPlayerLogo : UIView
    
    /// 添加 logo,一个 PLVVodPlayerLogo 对象可同时添加最多两个 logo
    - (void)insertLogoWithParam:(PLVVodPlayerLogoParam *)param;
    
    @end

    Swift

    class PLVVodPlayerLogo