PLVVodMediaVideo

Objective-C

@interface PLVVodMediaVideo : NSObject

Swift

class PLVVodMediaVideo : NSObject

视频数据模型

  • vid

    视频 id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *vid;

    Swift

    var vid: String! { get }
  • 视频标题

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *title;

    Swift

    var title: String! { get set }
  • Undocumented

    Declaration

    Objective-C

    @property (nonatomic) BOOL hasPPT

    Swift

    var hasPPT: Bool { get set }
  • viewlog 上报的频率

    Declaration

    Objective-C

    @property (nonatomic, readonly) int reportFreq;

    Swift

    var reportFreq: Int32 { get }
  • 可用清晰度数量

    Declaration

    Objective-C

    @property (nonatomic, readonly) int qualityCount;

    Swift

    var qualityCount: Int32 { get }
  • 默认播放清晰度

    Declaration

    Objective-C

    @property (nonatomic) int preferredQuality;

    Swift

    var preferredQuality: PLVVodMediaQuality { get set }
  • 视频时长

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval duration;

    Swift

    var duration: TimeInterval { get }
  • 源文件大小

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger sourcefilesize;

    Swift

    var sourcefilesize: Int { get }
  • 源文件url

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *play_source_url;

    Swift

    var play_source_url: String! { get }
  • 各码率视频大小

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSNumber *> *filesizes;

    Swift

    var filesizes: [NSNumber]! { get }
  • 视频快照URL

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *snapshot;

    Swift

    var snapshot: String! { get set }
  • 视频宽高比

    Declaration

    Objective-C

    @property (nonatomic) CGFloat ratio;

    Swift

    var ratio: Double { get set }
  • 源文件播放

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL keepSource;

    Swift

    var keepSource: Bool { get }
  • 分类id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *categoryId;

    Swift

    var categoryId: String! { get }
  • 分类树

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray *categoryTree;

    Swift

    var categoryTree: [Any]! { get }
  • 是否存在问答

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL interactive;

    Swift

    var interactive: Bool { get }
  • 视频字幕

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<PLVVodMediaVideoSubtitleItem *> *srts;

    Swift

    var srts: [PLVVodMediaVideoSubtitleItem]! { get set }
  • 视频双字幕

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<PLVVodMediaVideoDoubleSubtitleItem *> *match_srt;

    Swift

    var match_srt: [PLVVodMediaVideoDoubleSubtitleItem]! { get set }
  • 播放器皮肤

    Declaration

    Objective-C

    @property (nonatomic, strong) PLVVodMediaVideoPlayerSetting *player;

    Swift

    var player: PLVVodMediaVideoPlayerSetting! { get set }
  • 字幕名称 支持双字幕且存在双字幕时 增加”双语“字幕名称

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *srtTitles;

    Swift

    var srtTitles: [String]! { get }
  • 默认字幕文件

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger defaultSrtIndex;

    Swift

    var defaultSrtIndex: Int { get }
  • 视频打点信息

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<PLVVodMediaVideoKeyFrameItem *> *videokeyframes;

    Swift

    var videokeyframes: [PLVVodMediaVideoKeyFrameItem]! { get set }
  • ads

    广告信息

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<PLVVodMediaAd *> *ads;

    Swift

    var ads: [PLVVodMediaAd]! { get set }
  • 片头URL

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *teaser;

    Swift

    var teaser: String! { get set }
  • 片头播放时长

    Declaration

    Objective-C

    @property (nonatomic) NSTimeInterval teaserDuration;

    Swift

    var teaserDuration: TimeInterval { get set }
  • 是否显示片头

    Declaration

    Objective-C

    @property (nonatomic) BOOL teaserShow;

    Swift

    var teaserShow: Bool { get set }
  • 片尾URL

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *tailerUrl;

    Swift

    var tailerUrl: String! { get set }
  • 片尾播放时长

    Declaration

    Objective-C

    @property (nonatomic) NSTimeInterval tailerDuration;

    Swift

    var tailerDuration: TimeInterval { get set }
  • 是否显示片尾

    Declaration

    Objective-C

    @property (nonatomic) BOOL tailerShow;

    Swift

    var tailerShow: Bool { get set }
  • 可用线路

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *availableRouteLines;

    Swift

    var availableRouteLines: [String]! { get }
  • Undocumented

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *tsCdns

    Swift

    var tsCdns: [String]! { get }
  • 可用线路,音频文件

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *availableAudioRouteLines;

    Swift

    var availableAudioRouteLines: [String]! { get }
  • 若视频不合法,可以从该属性获取不合法原因,否则为空

    Declaration

    Objective-C

    @property (nonatomic, strong) NSError *error;

    Swift

    var error: Error! { get set }
  • 若视频不合法,VOD-1676新增加的错误信息

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSDictionary *playerError;

    Swift

    var playerError: [AnyHashable : Any]! { get }
  • 音频文件链接

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *aac_link;

    Swift

    var aac_link: String! { get }
  • 音频文件大小

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger aac_filesize;

    Swift

    var aac_filesize: Int { get }
  • ppt文件链接

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *ppt_link;

    Swift

    var ppt_link: String! { get }
  • 远端控制Httpdns模式,远端优先级大于本地enableHttpDNS的优先级

    Declaration

    Objective-C

    @property (nonatomic, readonly) int httpDnsMode;

    Swift

    var httpDnsMode: PLVVodMediaHttpDnsMode { get }
  • 302跳转

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL isHls302;

    Swift

    var isHls302: Bool { get }
  • 预览图

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *progressImage;

    Swift

    var progressImage: String! { get }
  • 是否续播

    Declaration

    Objective-C

    @property (nonatomic) BOOL keep_play;

    Swift

    var keep_play: Bool { get set }
  • 视频或账号是否可用

    Declaration

    Objective-C

    - (BOOL)available;

    Swift

    func available() -> Bool
  • 视频是否为非加密视频

    Declaration

    Objective-C

    - (BOOL)isPlain;

    Swift

    func isPlain() -> Bool
  • 视频是否为hls视频

    Declaration

    Objective-C

    - (BOOL)isHls;

    Swift

    func isHls() -> Bool
  • 是否能够切换音视频模式

    Declaration

    Objective-C

    - (BOOL)canSwithPlaybackMode;

    Swift

    func canSwithPlaybackMode() -> Bool
  • 获取投屏使用的媒体URL

    Declaration

    Objective-C

    - (NSString *)transformCastMediaURLStringWithQuality:(NSInteger)quality;

    Swift

    func transformCastMediaURLString(withQuality quality: Int) -> String!

    Parameters

    quality

    播放清晰度

  • 请求获取 PLVVodVideo 模型对象,(视频播放时使用)

    Declaration

    Objective-C

    + (void)requestVideoWithVid:(NSString *)vid
                     completion:(void (^)(PLVVodMediaVideo *, NSError *))completion;

    Swift

    class func request(withVid vid: String!) async throws -> PLVVodMediaVideo?

    Parameters

    vid

    vid

    completion

    PLVVodVideo 模型对象

  • 请求获取 PLVVodVideo 模型对象,有网络时优先发送网络请求,无网络时返回本地数据 保存或更新数据到数据库 (视频下载时使用)

    Declaration

    Objective-C

    + (void)requestVideoPriorityCacheWithVid:(NSString *)vid
                                  completion:(void (^)(PLVVodMediaVideo *,
                                                       NSError *))completion;

    Swift

    class func requestPriorityCache(withVid vid: String!) async throws -> PLVVodMediaVideo?

    Parameters

    vid

    vid

    completion

    PLVVodVideo 模型对象

  • 视频是否已经缓存

    Declaration

    Objective-C

    + (BOOL)isVideoCached:(NSString *)vid;

    Swift

    class func isVideoCached(_ vid: String!) -> Bool

    Parameters

    vid

    视频ID