点播模块
头文件
VHVodPlayer.h
类名
VHVodPlayer
属性
delegate
@property (nonatomic,weak)id <VHVodPlayerDelegate> delegate;
view
@property (nonatomic,strong,readonly)UIView *view;
playerState
@property (nonatomic,assign,readonly)int playerState;//播放器状态 详见 VHPlayerStatus 的定义.
isUseDefaultControl
@property (nonatomic,assign) BOOL isUseDefaultControl;//使用默认控制界面
duration
@property (nonatomic, readonly) NSTimeInterval duration;
playableDuration
@property (nonatomic, readonly) NSTimeInterval playableDuration;
currentPlaybackTime
@property (nonatomic, assign) NSTimeInterval currentPlaybackTime;
defaultDefinition
/**
* 设置默认播放的清晰度 默认原画
*/
@property(nonatomic,assign)VHDefinition defaultDefinition;
curDefinition
/**
* 当前播放的清晰度 默认原画 只有在播放开始后调用 并在支持的清晰度列表中
*/
@property(nonatomic,assign)VHDefinition curDefinition;
rate
/**
* 播放速率 0.50, 0.67, 0.80, 1.0, 1.25, 1.50, and 2.0
*/
@property (nonatomic) float rate;
seekModel
/**
* 点播视播放器seek模式设置 注意:需要播放前调用
*/
@property (nonatomic, assign) VHVodPlayerSeeekModel seekModel;
watermarkImageView
/**
* 水印 ImageView 设置水印图片 及显示位置 注:只要使用了改属性 PaaS 控制台设置图片方式便失效
*/
@property (nonatomic,readonly) UIImageView* watermarkImageView;
方法
- startPlay:accessToken:
/**
* 开始播放
* @param recordID 房间ID
* @param accessToken accessToken
*/
- (BOOL)startPlay:(NSString*)recordID accessToken:(NSString*)accessToken;
- pause
/**
* 暂停播放
*/
- (BOOL)pause;
- resume
/**
* 恢复播放
*/
- (BOOL)resume;
- stopPlay
/**
* 结束播放
*/
- (BOOL)stopPlay;
- seek:
/*
seek 播放跳转到音视频流某个时间
* time: 流时间,单位为秒
*/
- (BOOL)seek:(float)time;
- setScalingMode:
/*
* 设置画面的裁剪模式
*/
- (BOOL)setScalingMode:(int)scalingMode;
- destroyPlayer
/**
* 销毁播放器
*/
- (BOOL)destroyPlayer;
- setSeekModel: maxTime:
/**
* 点播视播放器seek模式设置 注意:需要播放前调用
* 如果是seekModel == VHVodPlayerSeeekModelPlayed 为指定播放过时间
*/
- (void)setSeekModel:(VHVodPlayerSeeekModel)seekModel maxTime:(NSTimeInterval)maxTime;
- takeAPhoto
/**
* 获得当前时间视频截图
*/
- (UIImage*)takeAPhoto;
代理方法
VHVodPlayerDelegate
- player:statusDidChange:
/**
* 观看状态回调
* @param player 播放器实例
* @param state 状态类型
*/
- (void)player:(VHVodPlayer *)player statusDidChange:(int)state;
- player:validDefinitions:curDefinition:
/**
* 当前点播支持的清晰度列表
* @param definitions 支持的清晰度列表
* @param definition 当前播放清晰度
*/
- (void)player:(VHVodPlayer *)player validDefinitions:(NSArray*)definitions curDefinition:(VHDefinition)definition;
- player:stoppedWithError:
/**
* 错误回调
* @param player 播放器实例
* @param error 错误
*/
- (void)player:(VHVodPlayer *)player stoppedWithError:(NSError *)error;
结构体
VHPlayerStatus
播放器状态
typedef NS_ENUM(NSInteger, VHPlayerStatus) {
VHPlayerStatusUnkown, //初始化时指定的状态,播放器初始化
VHPlayerStatusLoading, //加载中
VHPlayerStatusPlaying, //播放中
VHPlayerStatusPause, //播放暂停
VHPlayerStatusStop, //停止播放
VHPlayerStatusComplete, //本次播放完
};
VHPlayerScalingMode
播放器图像填充模式
typedef NS_ENUM(NSInteger, VHPlayerScalingMode) {
VHPlayerScalingModeFill, //将图像拉伸填充
VHPlayerScalingModeAspectFit, //将图像等比例缩放,适配最长边,缩放后的宽和高都不会超过显示区域,居中显示,画面可能会留有黑边。
VHPlayerScalingModeAspectFill,//将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不会留黑边,但可能因为部分区域被裁剪而显示不全。
};
VHDefinition
视频清晰度
/**
* 视频清晰度
*/
typedef NS_ENUM(NSInteger,VHDefinition) {
VHDefinitionOrigin = 0, //原画
VHDefinitionUHD = 1, //超高清
VHDefinitionHD = 2, //高清
VHDefinitionSD = 3, //标清
VHDefinitionAudio = 4, //纯音频
};