属性 | 属性描述 |
---|---|
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;
参数名称 |
---|