开放平台
首页平台概述
开发者
  • API文档
  • SDK
产品功能
  • 新手入门
  • 产品功能
常见问题
首页平台概述
开发者
  • API文档
  • SDK
产品功能
  • 新手入门
  • 产品功能
常见问题
  1. 视频直播
  • demo
  • JS SDK
    • 产品介绍
    • 快速接入
    • SDK 对接示例
    • 观看直播
    • 暖场视频
    • 房间消息说明
    • 互动连麦
    • 文档白板
    • 全局事件
    • 全局错误码
    • 版本更新记录
    • 互动工具
      • 互动-抽奖
      • 互动-礼物
      • 互动-签到
      • 互动-问卷
      • 互动-公告
      • 互动-商品
      • 互动-问答
      • 互动-推屏卡片
      • 互动-快问快答
      • 互动-聊天
      • 互动-优惠券
      • 互动-点赞
    • 直播间拓展功能
      • 资料下载
      • 观看限制验证
      • 观看协议
      • 回放章节
  • 点播SDK
    • 点播上传SDK
    • 更新记录
  • iOS SDK
    • 整体介绍
    • 快速接入
    • SDK 登录
    • 暖场视频
    • 视频轮询
    • 直播彩排
    • 高级美颜
    • 云导播
    • 观看协议
    • 文档白板演示
    • 聊天功能
    • 视频直播
      • 发起视频直播
      • 观看视频直播
    • 互动直播
      • 观众互动
      • 推流摄像头
      • 互动直播API
      • 主播发起互动直播
      • 嘉宾加入互动直播
    • 无延迟直播
      • 主播发起无延迟直播
      • 观众观看无延迟直播
    • 互动工具
      • 互动-抽奖
      • 互动-礼物
      • 互动-签到
      • 互动-问卷
      • 互动-章节打点
      • 互动-公告
      • 互动-商品
      • 互动-计时器
      • 互动-问答
      • 互动-推屏卡片
      • 互动-快问快答
      • 互动-优惠券
      • 互动-点赞
    • 直播间拓展能力
      • 直播间特色功能配置项
      • 文件下载
      • 修改角色昵称
      • 观看权限校验
      • 投屏
      • 虚拟人数
    • 观看回放
      • 观看回放
    • 防录屏
      • 跑马灯
    • 字段说明
      • 互动活动详情字段
      • 错误码说明
      • 常量定义
      • 活动详情字段说明
    • 版本更新说明
      • 版本更新信息
      • v2.3.0 到 v2.4.0 升级说明
      • v3.0.1 到 v3.2.0 升级说明
      • V2.9.0到v3.0.1升级说明
      • v6.3.0
      • v6.2.1
      • v3.2.0 到 v4.0.1
      • v2.7.0 到 v2.8.0、v2.9.0 升级说明
      • 6.5.0
      • v5.0.x 到 v6.0.0
      • v6.4.0
  • Adroid SDK
    • 整体介绍
    • 快速接入
    • SDK登录
    • 暖场视频
    • 视频轮巡功能
    • 直播彩排
    • 高级美颜
    • 云导播功能
    • 观看协议
    • 文档白板
    • 聊天功能
    • 房间消息
    • 信息采集说明
    • 视频直播
      • 发起视频直播
      • 观看视频直播
    • 互动直播
      • 互动直播API
      • 主播发起互动直播
      • 嘉宾加入互动直播
      • 观众观看互动直播
    • 无延迟直播
      • 主播发起无延迟直播
      • 观众观看无延迟直播
    • 互动工具
      • 互动-抽奖
      • 互动-礼物
      • 互动-签到
      • 互动-问卷
      • 互动-公告
      • 互动-商品
      • 互动-计时器
      • 互动-问答
      • 互动-推屏卡片
      • 互动-快问快答
      • 互动-优惠券
      • 互动-点赞
    • 直播拓展功能
      • 修改角色名称
      • 文件下载
      • 投屏演示
      • 虚拟人数
      • 观看权限校验
      • 直播间特色功能配置项
    • 观看回放
      • 观看回放/点播
    • 防录屏
      • 直播水印
      • 跑马灯
    • 字段说明
      • 房间消息字段说明
      • 聊天消息字段说明
      • 活动详情字段说明
    • 版本更新说明
      • 更新记录
      • v6.4.0
      • v6.3.0
      • v6.2.3
      • v6.2.1
      • v6.2.0
      • v6.1.0
      • v6.0.0
      • v5.0.0
      • v4.1.0
      • v4.0.0
      • v3.3.0
  • APP嵌入支付说明
    • 支付调起说明
    • Scheme规则说明
  1. 视频直播

发起视频直播

SDK 具有视频直播发起的能力,需要完成直播间的初始化、开始推流后方可开启一场视频直播。

关键步骤#

1.
initWithConfig 初始化推流对象
2.
startVideoCapture 开始采集画面
3.
startLive 开始推流
4.
destoryObject 离开直播间的时候销毁推流对象

基础属性#

属性属性描述
delegate代理
displayView用来显示摄像头拍摄内容的 View
isMute设置静音,开始直播后设置有效
captureDevicePosition获取用户使用是前置还是后置摄像头
isPublishing获取当前推流状态
VHPublishConfig推流配置参数

关键方法#

方法方法描述
initWithConfig初始化
startVideoCapture开始视频采集
stopVideoCapture停止视频采集
startLive开始发起直播
stopLive结束直播
disconnect断开推流的连接
reconnect重连流
swapCameras切换摄像头
setFoucsFoint手动对焦
captureDeviceZoom变焦
setDeviceTorchModel设置闪关灯的模式
setVolumeAmplificateSize设置音频增益大小
setContentMode修改本地相机预览填充模式
camVidMirror镜像摄像头
destoryObject销毁初始化数据

VHallLivePublishDelegate 代理方法#

方法方法描述
publishStatus发起直播时的状态
firstCaptureImage采集到第一帧的回调
webinarInfo活动相关信息回调

初始化#

方法 APi
- (instancetype)initWithConfig:(VHPublishConfig*)config;
方法入参
参数名称是否必须示例备注
config是VHPublishConfig具体包含的参数参考地址
方法示例
// 直播推流配置信息
VHPublishConfig* config = [VHPublishConfig configWithType:VHPublishConfigTypeDefault];
config.pushType = VHStreamTypeVideoAndAudio;  // 默认视频直播
// 初始化
VHallLivePublish * livePublish = [[VHallLivePublish alloc] initWithConfig:config];
[livePublish startVideoCapture];

开始视频采集#

方法 APi
显示视频预览
- (BOOL)startVideoCapture;
方法示例
// 开始视频采集,并显示预览界面
[livePublish startVideoCapture];

停止视频采集#

方法 APi
关闭视频预览
- (BOOL)stopVideoCapture;
方法示例
// 停止视频采集,关闭视频预览
[livePublish stopVideoCapture];

开始发起直播#

方法 APi
- (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
接口 API 结束直播 与 startLive 成对出现,如果调用 startLive,则需要调用 stopLive 以释放相应资源
- (void)stopLive;
方法示例
[livePublish stopLive];

断开推流的连接#

方法 APi
断开推流的连接,注意 app 进入后台时要手动调用此方法 回到前台要 reconnect 重新直播
- (void)disconnect;
方法示例
[livePublish disconnect];

重连流#

方法 APi
恢复推流
- (void)reconnect;
方法示例
[livePublish reconnect];

切换摄像头#

方法 APi
- (BOOL)swapCameras:(AVCaptureDevicePosition)captureDevicePosition;
方法入参
参数名称是否必须示例备注
captureDevicePosition是前置:AVCaptureDevicePositionFront
后置:AVCaptureDevicePositionBack
前置还是后置
方法示例
[livePublish swapCameras:AVCaptureDevicePositionFront];

手动对焦#

方法 APi
- (void)setFoucsFoint:(CGPoint)newPoint;
方法入参
参数名称是否必须示例备注
newPoint是CGPointMake(2, 2)坐标
方法示例
[livePublish setFoucsFoint:CGPointMake(2, 2)];

变焦#

方法 APi
- (void)captureDeviceZoom:(CGFloat)zoomSize;
方法入参
参数名称是否必须示例备注
zoomSize是0.8变焦的比例
方法示例
[livePublish captureDeviceZoom:0.8];

设置闪关灯的模式#

方法 APi
- (BOOL)setDeviceTorchModel:(AVCaptureTorchMode)captureTorchMode;
方法入参
| 参数名称 | 是否必须 | 示例 | 备注 |
| :--------------: | :------: | :-------------------------------------------------------------------------------------------: | :--------: | --- |
| captureTorchMode | 是 | 打开:AVCaptureTorchModeOn
关闭:AVCaptureTorchModeOff
自动:AVCaptureTorchModeAuto | 闪光灯模式 | |
方法示例
[livePublish setDeviceTorchModel:AVCaptureTorchModeOn];

设置音频增益大小#

方法 APi
- (void)setVolumeAmplificateSize:(float)size;
方法入参
参数名称是否必须示例备注
size是1音频增益的大小 [0.0,1.0]
方法示例
[livePublish setVolumeAmplificateSize:1];

修改本地相机预览填充模式#

方法 APi
- (void)setContentMode:(VHRTMPMovieScalingMode)contentMode;
方法入参
参数名称是否必须示例备注
contentMode是正常:VHRTMPMovieScalingModeNone
等比缩放:VHRTMPMovieScalingModeAspectFit
填充 :VHRTMPMovieScalingModeAspectFill
本地相机预览填充模式,开始直播后设置有效
方法示例
[livePublish setContentMode:VHRTMPMovieScalingModeAspectFill];

镜像摄像头#

方法 APi
- (void)camVidMirror:(BOOL)mirror;
方法入参
参数名称是否必须示例备注
mirror是YESYES:镜像 NO:不镜像
方法示例
[self.livePublish camVidMirror:mirror];

销毁初始化数据#

方法 APi
- (void)destoryObject;
方法示例
[livePublish destoryObject];

发起直播时的状态#

方法 APi
代理 APi
- (void)publishStatus:(VHLiveStatus)liveStatus
             withInfo:(NSDictionary*)info;
方法返回参数
参数名称备注
liveStatus直播状态
info详细信息,字典结构:{code:错误码,content:错误信息}

直播状态详情#

参数名称备注
VHLiveStatusNone默认
VHLiveStatusPushConnectSucceed直播连接成功
VHLiveStatusPushConnectError直播连接失败
VHLiveStatusParamError参数错误
VHLiveStatusSendError直播发送数据错误
VHLiveStatusUploadSpeed直播上传速率
VHLiveStatusAudioRecoderError音频采集失败,提示用户查看权限或者重新推流,切记此事件会回调多次,直到音频采集正常为止
VHLiveStatusUploadNetworkException发起端网络环境差
VHLiveStatusUploadNetworkOK发起端网络环境恢复正常
VHLiveStatusGetUrlError获取推流地址失败
VHLiveStatusDirectorError云导播机位推流失败

采集到第一帧的回调#

方法 APi
-(void)firstCaptureImage:(UIImage*)image;
方法返回参数
状态名称备注
image第一帧的图片

活动相关信息回调#

方法 APi
- (void)publish:(VHallLivePublish *)publishObject
            webinarInfo:(VHWebinarInfo *)webinarInfo;
方法返回参数
参数名称备注
publishObject推流对象
webinarInfo活动相关信息 (注意:此接口为 v6.0 新增,仅限新版控制台(v3 及以上)创建的活动使用,否则不会回调)
修改于 2025-05-27 11:59:31
上一页
聊天功能
下一页
观看视频直播
Built with