播放器
VHallMoviePlayer
观看直播属性
@property(nonatomic,assign)id delegate;
@property(nonatomic,strong,readonly)UIView * moviePlayerView;
@property(nonatomic,assign)int timeout; //链接的超时时间 默认6000毫秒,单位为毫秒 MP4点播 最小10000毫秒
@property(nonatomic,assign)int reConnectTimes; //断开后的重连次数 默认 2次
@property(nonatomic,assign)int bufferTime; //缓冲时间 默认 6秒 单位为秒 必须>0 值越小延时越小,卡顿增加
@property(assign,readonly)int realityBufferTime; //获取播放器实际缓冲时间
@property(nonatomic,assign,readonly)VHPlayerState playerState;//播放器状态
@property(nonatomic,strong,readonly)UIView * documentView; //文档view,当前活动如果没有文档次View 为 nil 可以从回调中获取此活动是否又文档
@property (nonatomic, assign) float rate;//点播倍速播放速率 0.50, 0.67, 0.80, 1.0, 1.25, 1.50, and 2.0
@property (nonatomic, assign) NSTimeInterval initialPlaybackTime;//初始化要播放的位置
- 视频View的缩放比例 默认是自适应模式
@property(nonatomic,assign)VHRTMPMovieScalingMode movieScalingMode;
- 当前视频观看模式 观看直播允许切换观看模式(回放没有)
@property(nonatomic,assign)VHMovieVideoPlayMode playMode;
- 设置默认播放的清晰度 默认原画
@property(nonatomic,assign)VHMovieDefinition defaultDefinition;
-
@brief 设置视频清晰度
-
切换视频清晰度 默认是 defaultDefinition
@property(nonatomic,assign)VHMovieDefinition curDefinition;
初始化VHMoviePlayer对象
- 初始化VHMoviePlayer对象
- @param delegate *
- @return 返回VHMoviePlayer的一个实例
-(instancetype)initWithDelegate:(id )delegate;
预加载视频信息 进入页面即需要使用此方法后 startPlay和startPlayback传参不再有效,只是有开始播放功能,更换房间时需要停止上个房间播放
- 此方法可以提供播放前操作聊天等功能
- @param param
- param[@"id"] = 活动Id 必传
- param[@"name"] = 如已登录可以不传
- param[@"email"] = 如已登录可以不传
- param[@"pass"] = 活动如果有K值或密码需要传
- (void)preLoadRoomWithParam:(NSDictionary*)param;
观看直播
- 观看直播视频
- @param param
- param[@"id"] = 活动Id 必传
- param[@"name"] = 如已登录可以不传
- param[@"email"] = 如已登录可以不传
- param[@"pass"] = 活动如果有K值或密码需要传
-(BOOL)startPlay:(NSDictionary*)param;
观看视频回放/点播
- @param param
- param[@"id"] = 活动Id 必传
- param[@"name"] = 如已登录可以不传
- param[@"email"] = 如已登录可以不传
- param[@"pass"] = 活动如果有K值或密码需要传
-(BOOL)startPlayback:(NSDictionary*)param;
暂停拉流播放
-(void)pausePlay;
备注:暂停直播播放,不会停止接收聊天 ppt等事件(只用直播活动)
重新拉流播放
-(BOOL)reconnectPlay;
备注:
- 播放出错/pausePlay后恢复直播播放(只用直播活动)
- @return NO 播放器不是暂停状态 或者已经结束
停止观看直播
-(void)stopPlay;
备注:停止直播也会停止直播相关功能如聊天等
设置静音
- @param mute 是否静音
-(void)setMute:(BOOL)mute;
设置系统声音大小
- @param size float [0.0~1.0]
+(void)setSysVolumeSize:(float)size;
获取系统声音大小
+(float)getSysVolumeSize;
销毁播放器
-(void)destroyMoivePlayer;
是否使用陀螺仪,仅VR播放时可用
- (void)setUsingGyro:(BOOL)usingGyro;
设置视屏布局方向,仅VR模式可用,要开启陀螺仪
- (void)setUILayoutOrientation:(UIDeviceOrientation)orientation;
观看直播视频(仅HLS可用,2.3.4以后不维护此功能)
- @param param
- param[@"id"] = 活动Id 必传
- param[@"name"] =未登录用户必须传值,用户昵称,已登录用户可传也可以不传
- param[@"email"] =未登录用户必须传值,用户邮箱,如果无邮箱需填写设备唯一标 识保证唯一性,已登录用户可传也可以不传
- param[@"pass"] = K值,已创建的活动如果有K值需要传,没有可不传 *
- @param moviePlayerController MPMoviePlayerController 对象
-(void)startPlay:(NSDictionary)param moviePlayer:(MPMoviePlayerController *)moviePlayerController;
发送 申请上麦/取消申请 消息
/**
* 发送 申请上麦/取消申请 消息
* @param type 1举手,0取消举手
*/
- (BOOL)microApplyWithType:(NSInteger)type;
发送 申请上麦/取消申请 消息
/**
* 发送 申请上麦/取消申请 消息
* @param type 1举手,0取消举手
* @param finishBlock 消息发送结果
*/
- (BOOL)microApplyWithType:(NSInteger)type finish:(void(^)(NSError *error))finishBlock;
收到邀请后 回复主持人
/**
* 收到邀请后 回复主持人
* @param type 1接受,2拒绝,3超时失败
* @param finishBlock 结果回调
*/
- (BOOL)replyInvitationWithType:(NSInteger)type finish:(void(^)(NSError *error))finishBlock;
看直播事件响应 VHallMoviePlayerDelegate
视频预加载完成可以调用播放接口
- (void)preLoadVideoFinish:(VHallMoviePlayer*)moviePlayer activeState:(VHMovieActiveState)activeState error:(NSError*)error;
播放连接成功
- @param info 直播状态对应信息,字典格式{@"code":xx, @"content":xxx}
- (void)connectSucceed:(VHallMoviePlayer)moviePlayer info:(NSDictionary)info;
备注:- code:状态码,如枚举值(0,1,…)content:对应的状态说明
缓冲开始回调
- @param info 直播状态对应信息,字典格式{@"code":xx, @"content":xxx}
- (void)bufferStart:(VHallMoviePlayer)moviePlayer info:(NSDictionary)info;
备注: code:状态码,如枚举值(0,1,…)content:对应的状态说明
缓冲结束回调
- @param info 直播状态对应信息,字典格式{@"code":xx, @"content":xxx}
-(void)bufferStop:- - -- ---(VHallMoviePlayer)moviePlayer info:(NSDictionary)info;
备注:code:状态码,如枚举值(0,1,…)content:对应的状态说明
下载速率的回调
- @param moviePlayer
- @param info 下载速率信息 单位kbps
- @param info 直播状态对应信息,字典格式{@"code":xx, @"content":xxx}
- (void)downloadSpeed:(VHallMoviePlayer)moviePlayer info:(NSDictionary)info;
备注:code:状态码,如枚举值(0,1,…)content:对应的状态说明
Streamtype
- @param moviePlayer moviePlayer
- @param info 直播状态对应信息,字典格式{@"code":xx, @"content":xxx}
- (void)recStreamtype:(VHallMoviePlayer)moviePlayer info:(NSDictionary)info;
备注:code:状态码,如枚举值(0,1,…)content:对应的状态说明
播放时错误的回调 *
- @param livePlayErrorType 直播错误类型
- @param info 直播状态对应信息,字典格式{@"code":xx, @"content":xxx}
- (void)playError:(VHLivePlayErrorType)livePlayErrorType info:(NSDictionary)info;
备注:code:状态码,如枚举值(0,1,…)content:对应的状态说明
获取视频活动状态
- @param playMode 视频活动状态
- (void)ActiveState:(VHMovieActiveState)activeState;
获取当前视频播放模式
- @param playMode 视频播放模式
- (void)VideoPlayMode:(VHMovieVideoPlayMode)playMode isVrVideo:(BOOL)isVrVideo;
主持人显示/隐藏文档
/**
* 主持人显示/隐藏文档
*
* @param isShow YES 主持人显示观看端文档,NO 主持人隐藏观看端文档
*/
- (void)moviePlayer:(VHallMoviePlayer*)player isShowDocument:(BOOL)isShow;
获取当前视频支持的所有播放模式
- @param playModeList 视频播放模式列表
- (void)VideoPlayModeList:(NSArray)playModeList;
该视频支持的清晰度列表
- @param definitionList 支持的清晰度列表
- (void)VideoDefinitionList:(NSArray)definitionList;
直播结束消息
- (void)LiveStoped;
主持人是否允许举手申请上麦 回调
/**
* 是否允许举手申请上麦 回调。
* @param player VHallMoviePlayer实例
* @param isInteractive 当前活动是否支持互动功能
* @param state 主持人是否允许举手
*/
- (void)moviePlayer:(VHallMoviePlayer *)player isInteractiveActivity:(BOOL)isInteractive interactivePermission:(VHInteractiveState)state;
主持人是否同意上麦申请回调
/**
* 主持人是否同意上麦申请回调
* @param player VHallMoviePlayer实例
* @param attributes 参数 收到的数据
* @param error 错误回调 nil 同意上麦 不为空为不同意上麦
*/
- (void)moviePlayer:(VHallMoviePlayer *)player microInvitationWithAttributes:(NSDictionary *)attributes error:(NSError *)error;
主持人邀请你上麦
/**
* 主持人邀请你上麦
* @param player VHallMoviePlayer实例
* @param attributes 参数 收到的数据
*/
- (void)moviePlayer:(VHallMoviePlayer *)player microInvitation:(NSDictionary *)attributes;
被踢出
/**
* 被踢出
*
* @param player player
* @param isKickout 被踢出 取消踢出后需要重新进入
*/
- (void)moviePlayer:(VHallMoviePlayer*)player isKickout:(BOOL)isKickout;
点播回调 播放器状态
#pragma mark - 点播
/**
* statusDidChange
*
* @param player player
* @param state VHPlayerState
*/
- (void)moviePlayer:(VHallMoviePlayer *)player statusDidChange:(int)state;
点播回调 当前播放时间 1s一次
/**
* currentTime
*
* @param player player
* @param currentTime 回放当前播放时间点 1s 回调一次可用于UI刷新
*/
- (void)moviePlayer:(VHallMoviePlayer*)player currentTime:(NSTimeInterval)currentTime;
返回用户是否拥有投屏权限
/**
* 是否包含投屏功能
* * cast_screen 1有投屏功能 0没有投屏功能
*/
- (void)moviePlayer:(VHallMoviePlayer *)player isCast_screen:(BOOL)isCast_screen;
返回是否开启问答功能
/**
* 是否开启问答功能
* * cast_screen 1有问答功能 0没有问答功能
*/
- (void)moviePlayer:(VHallMoviePlayer *)player isQuestion_status:(BOOL)isQuestion_status;
播主发布公告
- 播主发布公告消息
- (void)Announcement:(NSString)content publishTime:(NSString)time;
包含文档 获取翻页图片路径
- @param changeImage 图片更新 */
- (void)PPTScrollNextPagechangeImagePath:(NSString*)changeImagePath;
画笔
- (void)docHandList:(NSArray)docList whiteBoardHandList:(NSArray)boardList;
、