DWPlayerView Class Reference
Inherits from | UIView |
---|---|
Declared in | DWPlayerView.h DWPlayerView.m |
Other Methods
– initWithFrame:
初始化播放对象
- (instancetype)initWithFrame:(CGRect)frame
Return Value
DWPlayerView
Discussion
初始化播放对象
@param frame
Declared In
DWPlayerView.h
– init
初始化播放对象
- (instancetype)init
Return Value
DWPlayerView
Discussion
初始化播放对象
Declared In
DWPlayerView.h
+ sharedInstance
单例
+ (instancetype)sharedInstance
Return Value
单例对象
Discussion
单例
Declared In
DWPlayerView.h
– playVodViedo:withCustomId:
播放网络视频 , 播放默认清晰度,对于在线媒体,必须要执行此方法,否则会导致数据统计缺失
- (void)playVodViedo:(DWVodVideoModel *)videoModel withCustomId:(NSString *)customId
Parameters
videoModel |
视频model |
---|---|
customId |
用户自定义参数 有自定义统计参数需求/流量统计的客户必须传值,没有此需求的客户请传nil |
Discussion
播放网络视频 , 播放默认清晰度,对于在线媒体,必须要执行此方法,否则会导致数据统计缺失
Declared In
DWPlayerView.h
– playLocalVideo:
播放本地视频
- (void)playLocalVideo:(DWDownloadModel *)downloadModel
Discussion
播放本地视频
Declared In
DWPlayerView.m
– switchQuality:withCustomId:
切换清晰度方法
- (void)switchQuality:(DWVideoQualityModel *)qualitiyModel withCustomId:(NSString *)customId
Parameters
qualitiyModel |
清晰度model |
---|---|
customId |
用户自定义参数 有自定义统计参数需求/流量统计的客户必须传值,没有此需求的客户请传nil |
Discussion
切换清晰度方法
Declared In
DWPlayerView.h
– switchSparPlayLine
切换备用线路 切换当前清晰度下的备用线路
- (void)switchSparPlayLine
Discussion
切换备用线路 切换当前清晰度下的备用线路
Declared In
DWPlayerView.h
– setPlayInBackground:
设置是否允许后台播放,目前只支持音频后台播放
- (void)setPlayInBackground:(BOOL)play
Parameters
play |
是否允许后台播放 |
---|
Discussion
设置是否允许后台播放,目前只支持音频后台播放
Declared In
DWPlayerView.h
– setPlayerRate:
切换倍速
- (void)setPlayerRate:(float)rate
Parameters
rate |
速率 |
---|
Discussion
切换倍速
Declared In
DWPlayerView.h
– qualityModel
当前正在播放的媒体清晰度model,非在线视频返回nil。注意,在调用playVodViedo:withCustomId:方法后才可获取到此属性
- (DWVideoQualityModel *)qualityModel
Discussion
当前正在播放的媒体清晰度model,非在线视频返回nil。注意,在调用playVodViedo:withCustomId:方法后才可获取到此属性
Declared In
DWPlayerView.h
– downloadModel
返回当前播放的离线model,在线视频返回nil。注意,在调用playLocalVideo:方法后才可获取到此属性。
- (DWDownloadModel *)downloadModel
Discussion
返回当前播放的离线model,在线视频返回nil。注意,在调用playLocalVideo:方法后才可获取到此属性。
Declared In
DWPlayerView.h
– scrub:
拖到XX秒播放视频,在AVPlayerItemStatusReadyToPlay即状态处于可播放后 才会有效果
- (void)scrub:(float)time
Parameters
time |
跳转时间 |
---|
Discussion
拖到XX秒播放视频,在AVPlayerItemStatusReadyToPlay即状态处于可播放后 才会有效果
Declared In
DWPlayerView.h
– scrubPrecise:CompletionHandler:
精确拖拽到XX秒播放视频,在AVPlayerItemStatusReadyToPlay即状态处于可播放后 才会有效果
- (void)scrubPrecise:(float)time CompletionHandler:(void ( ^ ) ( BOOL finished ))completion
Parameters
time |
跳转时间 |
---|---|
completion |
跳转完成回调 |
Discussion
精确拖拽到XX秒播放视频,在AVPlayerItemStatusReadyToPlay即状态处于可播放后 才会有效果
Declared In
DWPlayerView.h
– oldTimeScrub:
记录播放位置的方法(只为记忆播放功能使用 其它地方请调用scrub / scrubPrecise方法),在AVPlayerItemStatusReadyToPlay即状态处于可播放后 才会有效果
- (void)oldTimeScrub:(float)time
Parameters
time |
跳转时间 |
---|
Discussion
记录播放位置的方法(只为记忆播放功能使用 其它地方请调用scrub / scrubPrecise方法),在AVPlayerItemStatusReadyToPlay即状态处于可播放后 才会有效果
Declared In
DWPlayerView.h
– setVolume:
设置音量
- (void)setVolume:(float)volume
Parameters
volume |
音量 |
---|
Discussion
设置音量
Declared In
DWPlayerView.h
– removeTimer
停止视频播放统计 播放页面关闭时务必调用removeTimer方法 注意:播放页面关闭时 如需释放资源 调用方式如下{ [playerView removeTimer]; [playerView resetPlayer];
- (void)removeTimer
Discussion
停止视频播放统计 播放页面关闭时务必调用removeTimer方法 注意:播放页面关闭时 如需释放资源 调用方式如下{ [playerView removeTimer]; [playerView resetPlayer];
}
如无需释放播放资源 调用方式如下{
[playerView removeTimer];
[playerView pause];
}
Declared In
DWPlayerView.h
– enableAirplay
支持AirPlay外部播放 默认支持
- (void)enableAirplay
Discussion
支持AirPlay外部播放 默认支持
Declared In
DWPlayerView.h
– disableAirplay
不支持AirPlay外部播放
- (void)disableAirplay
Discussion
不支持AirPlay外部播放
Declared In
DWPlayerView.h
– isAirplayEnabled
检测是否支持支持AirPlay外部播放
- (BOOL)isAirplayEnabled
Return Value
BOOL
Discussion
检测是否支持支持AirPlay外部播放
Declared In
DWPlayerView.h
– reportQuestionWithVideoId:questionId:answerId:status:
问答统计 有此需求的客户调用 一个问题只发送一次
- (void)reportQuestionWithVideoId:(NSString *)videoId questionId:(NSString *)questionId answerId:(NSString *)answerId status:(BOOL)status
Parameters
videoId |
视频ID |
---|---|
questionId |
问题ID |
answerId |
用户选择的选项ID,以逗号分隔多个选项ID。 如1345是单选 2067,3092,4789是多选 |
status |
YES正确 NO错误 |
Discussion
问答统计 有此需求的客户调用 一个问题只发送一次
Declared In
DWPlayerView.h
– reportVisitorCollectWithVisitorId:VideoId:UserId:AndMessage:
访客信息统计上报 有此需求的客户调用
- (void)reportVisitorCollectWithVisitorId:(NSString *)visitorId VideoId:(NSString *)videoId UserId:(NSString *)userId AndMessage:(NSString *)message
Parameters
visitorId |
访客信息收集器ID 必填 |
---|---|
videoId |
视频ID 必填 |
userId |
CC账号ID 必填 |
message |
上报信息 必填 具体格式详见demo |
Discussion
访客信息统计上报 有此需求的客户调用
Declared In
DWPlayerView.h
– reportExercisesWithExercisesId:videoId:UserId:QuestionMes:AndCompletion:
课堂练习统计上报 有此需求的客户调用
- (void)reportExercisesWithExercisesId:(NSString *)exercisesId videoId:(NSString *)videoId UserId:(NSString *)userId QuestionMes:(NSString *)questionMes AndCompletion:(void ( ^ ) ( NSArray *resultArray , NSError *error ))completion
Parameters
exercisesId |
课堂练习ID 必填 |
---|---|
videoId |
视频ID 必填 |
userId |
CC账号ID 必填 |
questionMes |
上报信息 必填 具体格式详见demo |
completion |
完成回调,返回课堂练习结果 |
Discussion
课堂练习统计上报 有此需求的客户调用
Declared In
DWPlayerView.h
– playableDuration
获取可播放的持续时间
- (NSTimeInterval)playableDuration
Return Value
可播放的持续时间
Discussion
获取可播放的持续时间
Declared In
DWPlayerView.h
– videoGravity
AVPlayerLayer的videoGravity属性设置 AVLayerVideoGravityResize, // 非均匀模式。两个维度完全填充至整个视图区域 AVLayerVideoGravityResizeAspect, // 等比例填充,直到一个维度到达区域边界 AVLayerVideoGravityResizeAspectFill, // 等比例填充,直到填充满整个视图区域,其中一个维度的部分区域会被裁剪
- (NSString *)videoGravity
Discussion
AVPlayerLayer的videoGravity属性设置 AVLayerVideoGravityResize, // 非均匀模式。两个维度完全填充至整个视图区域 AVLayerVideoGravityResizeAspect, // 等比例填充,直到一个维度到达区域边界 AVLayerVideoGravityResizeAspectFill, // 等比例填充,直到填充满整个视图区域,其中一个维度的部分区域会被裁剪
Declared In
DWPlayerView.h
– urlOfCurrentlyPlayingInPlayer
获取当前player播放的URL 可用于截图
- (NSURL *)urlOfCurrentlyPlayingInPlayer
Return Value
当前播放URL
Discussion
获取当前player播放的URL 可用于截图
Declared In
DWPlayerView.h
– drmGIFURL
获取用来做GIF功能的URL 加密调用
- (NSURL *)drmGIFURL
Return Value
URL
Discussion
获取用来做GIF功能的URL 加密调用
Declared In
DWPlayerView.h
– unDrmGIFURL
获取用来做GIF功能的URL 非加密调用
- (NSURL *)unDrmGIFURL
Return Value
URL
Discussion
获取用来做GIF功能的URL 非加密调用
Declared In
DWPlayerView.h
Other Methods
player
播放属性
@property (nonatomic, strong, readonly) AVPlayer *player
Discussion
播放属性
Declared In
DWPlayerView.h
delegate
代理
@property (nonatomic, weak) id<DWVideoPlayerDelegate> delegate
Discussion
代理
Declared In
DWPlayerView.h
playing
//是否正在播放
@property (nonatomic, assign, readonly) BOOL playing
Discussion
//是否正在播放
Declared In
DWPlayerView.h
looping
是否循环播放 默认为NO
@property (nonatomic, assign) BOOL looping
Discussion
是否循环播放 默认为NO
Declared In
DWPlayerView.h
muted
是否静音 默认为NO
@property (nonatomic, assign) BOOL muted
Discussion
是否静音 默认为NO
Declared In
DWPlayerView.h
timeOutLoad
视频加载超时时间 默认30s
@property (nonatomic, assign) CGFloat timeOutLoad
Discussion
视频加载超时时间 默认30s
Declared In
DWPlayerView.h
timeOutBuffer
缓存超时时间 默认30s
@property (nonatomic, assign) CGFloat timeOutBuffer
Discussion
缓存超时时间 默认30s
Declared In
DWPlayerView.h
loadStyle
缓冲模式 默认DWPlayerViewLoadStyleDefault
@property (nonatomic, assign) DWPlayerViewLoadStyle loadStyle
Discussion
缓冲模式 默认DWPlayerViewLoadStyleDefault
Declared In
DWPlayerView.h
forwardBufferDuration
期待缓冲时长 默认 0,建议取值1 ~ 50 。 注意:此属性仅针对iOS10以上系统, m3u8格式视频有效。
@property (nonatomic, assign) NSTimeInterval forwardBufferDuration
Discussion
期待缓冲时长 默认 0,建议取值1 ~ 50 。 注意:此属性仅针对iOS10以上系统, m3u8格式视频有效。
Declared In
DWPlayerView.h
isSpar
是否是备用线路
@property (nonatomic, assign, readonly) BOOL isSpar
Discussion
是否是备用线路
Declared In
DWPlayerView.h
Extension Methods
videoModel
用于请求视频播放信息。
@property (nonatomic, strong) DWVodVideoModel *videoModel
Discussion
用于请求视频播放信息。
Declared In
DWPlayerView.m
writeURL
正在使用的URL。
若播放url的扩展名为pcm,则 writeURL为: http://127.0.0.1:xxx/pcm?url=urlEncode(currentContentURl)), 否则 writeURL 同 URL。
@property (strong, nonatomic) NSURL *writeURL
Declared In
DWPlayerView.m