| 属性 | 属性描述 |
|---|---|
| delegate | 代理 |
| displayView | 用来显示摄像头拍摄内容的View |
| isMute | 设置静音,开始直播后设置有效 |
| captureDevicePosition | 获取用户使用是前置还是后置摄像头 |
| isPublishing | 获取当前推流状态 |
| VHPublishConfig | 推流配置参数 |
| 方法 | 方法描述 |
|---|---|
| initWithConfig | 初始化 |
| initWithConfigV2 | 初始化V2版本 |
| startVideoCapture | 开始视频采集 |
| stopVideoCapture | 停止视频采集 |
| startLive | 开始发起直播 |
| stopLive | 结束直播 |
| disconnect | 断开推流的连接 |
| reconnect | 重连流 |
| swapCameras | 切换摄像头 |
| setFoucsFoint | 手动对焦 |
| captureDeviceZoom | 变焦 |
| setDeviceTorchModel | 设置闪关灯的模式 |
| setVolumeAmplificateSize | 设置音频增益大小 |
| setContentMode | 修改本地相机预览填充模式 |
| camVidMirror | 镜像摄像头 |
| destoryObject | 销毁初始化数据 |
| 方法 | 方法描述 |
|---|---|
| publishStatus | 发起直播时的状态 |
| firstCaptureImage | 采集到第一帧的回调 |
| webinarInfo | 活动相关信息回调 |
- (instancetype)initWithConfig:(VHPublishConfig*)config;| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| config | 是 | VHPublishConfig | 具体包含的参数参考地址 |
// 直播推流配置信息
VHPublishConfig* config = [VHPublishConfig configWithType:VHPublishConfigTypeDefault];
config.pushType = VHStreamTypeVideoAndAudio; // 默认视频直 播
// 初始化
VHallLivePublish * livePublish = [[VHallLivePublish alloc] initWithConfig:config];
[livePublish startVideoCapture];- (instancetype)initWithV2Config:(VHPublishConfig*)config andvanceBeautify:(Class)module licenseUrl:(NSString*)licenseUrl licenseKey:(NSString*)licenseKey handleError:(void(^)(NSError* error)handle);| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| config | 是 | VHPublishConfig | 具体包含的参数参考地址 |
| andvanceBeautify | 是 | 美颜类 | 具体包含的参数参考地址 |
| licenseUrl | 是 | V2直播licenseUrl | 联系技术支持了解开通详情 |
| licenseKey | 是 | V2直播licenseKey | 联系技术支持了解开通详情 |
| handle | 是 | 回调函数 | 具体包含的参数参考地址 |
// 直播推流配置信息
VHPublishConfig* config = [VHPublishConfig configWithType:VHPublishConfigTypeDefault];
config.pushType = VHStreamTypeVideoAndAudio; // 默认视频直播
// 初始化
self.beautifyKit=[VHBeautifyKit beautifyManagerWidthModuleClass:[VHBFURender class] faceBundlePaht:@""];
VHallLivePublish * livePublish = [[VHallLivePublish alloc] initWithV2Config:config andvanceBeautify:[self.beautifyKit currentModule] licenseUrl:@"" licenseKey:@""];
[livePublish startVideoCapture];显示视频预览
- (BOOL)startVideoCapture;// 开始视频采集,并显示预览界面
[livePublish startVideoCapture];关闭视频预览
- (BOOL)stopVideoCapture;// 停止视频采集,关闭视频预览
[livePublish stopVideoCapture];关闭视频预览
- (BOOL)stopVideoCaptureV2;| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| image | 是 | UIImage | 使用图片 替换摄像头画面 |
// 停止视频采集,关闭视频预览
[livePublish stopVideoCapture:image];- (void)startLive:(NSDictionary*)param;| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| param | 是 | 字典 | 活动基础信息,包含以下参数 |
| param[@"id"] | 是 | 123456789 | 活动Id,必传 |
| param[@"nickname"] | 否 | VHPublishConfig | 发起直播更改主播昵称,非必传(v6.0新增) |
NSMutableDictionary * param = [NSMutableDictionary dictionary];
param = [[NSMutableDictionary alloc]init];
param[@"id"] = @"123456789";
param[@"nickname"] = @"张三";
[livePublish startLive:param];接口API 结束直播 与startLive成对出现,如果调用startLive,则需要调用stopLive以释放相应资源
- (void)stopLive;[livePublish stopLive];断开推流的连接,注意app进入后台时要手动调用此方法 回到前台要reconnect重新直播
- (void)disconnect;[livePublish disconnect];恢复推流
- (void)reconnect;[livePublish reconnect];- (BOOL)swapCameras:(AVCaptureDevicePosition)captureDevicePosition;| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| captureDevicePosition | 是 | 前置:AVCaptureDevicePositionFront 后置:AVCaptureDevicePositionBack | 前置还是后置 |
[livePublish swapCameras:AVCaptureDevicePositionFront];- (void)setFoucsFoint:(CGPoint)newPoint;| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| newPoint | 是 | CGPointMake(2, 2) | 坐标 |
[livePublish setFoucsFoint:CGPointMake(2, 2)];- (void)captureDeviceZoom:(CGFloat)zoomSize;| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| zoomSize | 是 | 0.8 | 变焦的比例 |
[livePublish captureDeviceZoom:0.8];- (BOOL)setDeviceTorchModel:(AVCaptureTorchMode)captureTorchMode;| 参数名称 | 是否必须 |
|---|