VHallLivePublish.h 发直播
1.发直播属性
- 用来显示摄像头拍摄内容的View
/**
* 用来显示摄像头拍摄内容的View
*/
@property (nonatomic,strong,readonly)UIView * displayView;
- 代理
/**
* 代理
*/
@property (nonatomic,weak)id <VHallLivePublishDelegate> delegate;
- 设置静音,开始直播后设置有效
/**
* 设置静音,开始直播后设置有效
*/
@property (assign,nonatomic)BOOL isMute;
- 判断用户使用是前置还是后置摄像头
/**
* 判断用户使用是前置还是后置摄像头
*/
@property (nonatomic,assign,readonly)AVCaptureDevicePosition captureDevicePosition;
- 当前推流状态
/**
* 当前推流状态
*/
@property (assign,nonatomic,readonly)BOOL isPublishing;
2.初始化直播引擎
直播推流设置: VHPublishConfig* config = [VHPublishConfig configWithType:VHPublishConfigTypeDefault];
/**
* 初始化
* @param config config参数
*/
- (instancetype)initWithConfig:(VHPublishConfig*)config;
参数说明:@param config VHPublishConfig
3.开始视频采集 显示视频预览
//开始视频采集 显示视频预览
- (BOOL)startVideoCapture;
4.停止视频采集 关闭视频预览
//停止视频采集 关闭视频预览
- (BOOL)stopVideoCapture;
5.开始发起直播
/**
* 开始发起直播
* @param param
* param[@"id"] = 活动Id 必传
* param[@"access_token"] = 必传
*/
- (void)startLive:(NSDictionary*)param;
6.结束直播
/**
* 结束直播
* 与startLive成对出现,如果调用startLive,则需要调用stopLive以释放相应资源
*/
- (void)stopLive;
7.断开推流的连接,注意app进入后台时要手动调用此方法 回到前台要reconnect重新直播
/**
* 断开推流的连接,注意app进入后台时要手动调用此方法 回到前台要reconnect重新直播
*/
- (void)disconnect;
8.重连流
/**
* 重连流
*/
-(void)reconnect;
9.切换摄像头
/**
* 切换摄像头
* @return 是否切换成功
*/
- (BOOL)swapCameras:(AVCaptureDevicePosition)captureDevicePosition;
10.手动对焦
//手动对焦
-(void)setFoucsFoint:(CGPoint)newPoint;
11.变焦
/**
* 变焦
* @param zoomSize 变焦的比例
*/
- (void)captureDeviceZoom:(CGFloat)zoomSize;
12.设置闪关灯的模式
/**
* 设置闪关灯的模式
*/
- (BOOL)setDeviceTorchModel:(AVCaptureTorchMode)captureTorchMode;
13.销毁初始化数据
/**
* 销毁初始化数据
*/
- (void)destoryObject;
14.设置音频增益大小
/**
设置音频增益大小,注意只有当开启噪音消除时可用,开始直播后设置有效
@param size 音频增益的大小 [0.0,1.0]
*/
- (void)setVolumeAmplificateSize:(float)size;
15.本地相机预览填充模式,开始直播后设置有效
/**
* 本地相机预览填充模式,开始直播后设置有效
*/
- (void)setContentMode:(VHRTMPMovieScalingMode)contentMode;
16.美颜参数设置
/**
* 美颜参数设置
* VHPublishConfig beautifyFilterEnable为YES时设置生效 根据具体使用情况微调
* @param beautify 磨皮 默认 4.0f 取值范围[1.0, 10.0] 10.0 正常图片没有磨皮
* @param brightness 亮度 默认 1.150f 取值范围[0.0, 2.0] 1.0 正常亮度
* @param saturation 饱和度 默认 1.0f 取值范围[0.0, 2.0] 1.0 正常饱和度
* @param sharpness 锐化 默认 0.1f 取值范围[-4.0,4.0] 0.0 正常锐化
*/
- (void)setBeautify:(CGFloat)beautify Brightness:(CGFloat)brightness Saturation:(CGFloat)saturation Sharpness:(CGFloat)sharpness;
17.发直播事件响应 1、添加代理事件
- 采集到第一帧的回调
- @param image 第一帧的图片
-(void)firstCaptureImage:(UIImage)image;
- 发起直播时的状态
- @param liveStatus 直播状态 查看 文档中发直播枚举类型
- @param info 直播状态对应信息,字典格式 {@"code":xx,@"content":xxx}
- code:状态码/错误码,如枚举值(0,1,…)content:对应的状态或错误说明,如播放缓冲开始、播放缓冲结束等
-(void)publishStatus:( VHLiveStatus)liveStatus withInfo:(NSDictionary*)info; 当liveStatus == VHLiveStatusPushConnectSucceed时,content代表出错原因
错误码
错误码 | 详情 |
---|---|
4001 | 握手失败 |
4002 | 链接vhost/app失败 |
4003 | 网络断开 (预留,暂时未使用) |
4004 | 无效token |
4005 | 不再白名单中 |
4006 | 在黑名单中 |
4007 | 流已经存在 |
4008 | 流被禁掉 (预留,暂时未使用) |
4009 | 不支持的视频分辨率(预留,暂时未使用) |
4010 | 不支持的音频采样率(预留,暂时未使用) |
4011 | 欠费 |