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

– repeatPlay

重复播放当前媒体

- (void)repeatPlay

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

– play

播放

- (void)play

Discussion

播放

Declared In

DWPlayerView.h

– pause

暂停

- (void)pause

Discussion

暂停

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

– fadeInVolume

加大音量

- (void)fadeInVolume

Discussion

加大音量

Declared In

DWPlayerView.h

– fadeOutVolume

减小音量

- (void)fadeOutVolume

Discussion

减小音量

Declared In

DWPlayerView.h

– resetPlayer

关闭|释放播放资源

- (void)resetPlayer

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