PLVVodMediaVideo
Objective-C
@interface PLVVodMediaVideo : NSObject
Swift
class PLVVodMediaVideo : NSObject
视频数据模型
-
视频 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 hasPPTSwift
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 } -
广告信息
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 *> *tsCdnsSwift
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: (any 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
vidvid
completionPLVVodVideo 模型对象
-
请求获取 PLVVodVideo 模型对象,有网络时优先发送网络请求,无网络时返回本地数据 保存或更新数据到数据库 (视频下载时使用)
Declaration
Objective-C
+ (void)requestVideoPriorityCacheWithVid:(NSString *)vid completion:(void (^)(PLVVodMediaVideo *, NSError *))completion;Swift
class func requestPriorityCache(withVid vid: String!) async throws -> PLVVodMediaVideo?Parameters
vidvid
completionPLVVodVideo 模型对象
-
视频是否已经缓存
Declaration
Objective-C
+ (BOOL)isVideoCached:(NSString *)vid;Swift
class func isVideoCached(_ vid: String!) -> BoolParameters
vid视频ID
View on GitHub
PLVVodMediaVideo Class Reference