发起视频直播
发起视频直播
注意事项
1.
2.
发起直播步骤
1.
2.
3.
4.
5.
6.
核心类
属性 | 属性描述 |
---|---|
Broadcast | 发直播核心类 |
VHLivePushConfig | 推流配置参数 |
VHPlayerListener | 直播事件回调 |
MessageServer#Callback | 房间消息回调 |
ChatServer#Callback | 聊天消息回调 |
关键方法
方法 | 方法描述 |
---|---|
initBroadcast | 初始化直播间信息 |
VHLivePushConfig | 推流配置参数 |
Broadcast.build() | 初始化推流实例 |
broadcast.setWebinarInfo() | 设置房间详情 |
getBroadcast().changeCamera() | 切换摄像头 |
setCameraDrawMode | 本地预览填充模式 |
setMirror | 镜像视频画面 |
setBeautyLevel | 设置美颜 |
broadcast.start() | 开始直播 |
sendChat | 发送聊天 |
sendCustom | 发送自定义消息 |
acquireChatRecord | 获取历史聊天记录 |
setVolumeAmplificateSize | 设置声音增益的大小 |
finishBroadcast | 结束直播 |
broadcast.destroy() | 销毁直播间 |
VHPlayerListener | 直播事件回调 |
初始化直播间信息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | 234700561 | 活动id 在网页上创建 |
nickName | 否 | " name" | 昵称 |
否 | 123456 | 邮箱 | |
accessToken | 否 | ee | 老活动需要 |
onlyNewInteractive | 是 | true | 主持人互动需要true |
LoadWebinarInfoCallback#WebinarInfo | 活动详情 |
推流参数配置
视频分辨率类型
参数字段 | 描述 |
---|---|
VHLivePushFormat.PUSH_MODE_HD | 640*480 |
VHLivePushFormat.PUSH_MODE_XHD | 1280*720 |
VHLivePushFormat.PUSH_MODE_XXHD | 1920*1080 |
内部变量说明
参数字段 | 描述 | 默认值 |
---|---|---|
videoFrameRate | 视频帧率 | 15(10-30) |
videoBitrate | 视频码率 | 800*1000 b/s(与视频清晰度相关) |
screenOri | 横竖屏 | 横屏 VHLivePushFormat.SCREEN_ORI_LANDSPACE |
pushTimeout | 推流超时时长 | 5*1000 ms |
pushReconnectTimes | 重连次数 | 5 |
streamType | 推流类型 | 音视频 VHLivePushFormat.STREAM_TYPE_AV |
直播间横竖屏参数-screenOri
参数字段 | 描述 |
---|---|
VHLivePushFormat.SCREEN_ORI_LANDSPACE | 横屏 |
VHLivePushFormat.SCREEN_ORI_PORTRAIT | 竖屏 |
推流类型-streamType
参数字段 | 描述 |
---|---|
VHLivePushFormat.STREAM_TYPE_NONE | 推流内容 |
VHLivePushFormat.STREAM_TYPE_AV | 音视频 |
VHLivePushFormat.STREAM_TYPE_V | 纯视频 |
VHLivePushFormat.STREAM_TYPE_A | 纯音频 |
初始化推流实例
内部变量说明
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
VHVideoCaptureView | 是 | VHVideoCaptureView | 推流回显view |
VHAudioCapture | 否 | new VHAudioCapture() | 视频码率 |
VHPlayerListener | 是 | 播放器回调 | |
VHLivePushConfig | 是 | 初始化推流参数 | |
ChatServer.Callback | 否 | 聊天监听 | |
MessageServer.Callback | 否 | 消息监听 | |
denoise | 否 | false | 降噪 |
设置房间详情
切换摄像头
本地预览填充模式
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
mode | 是 | VHLivePushFormat.DRAW_MODE_ASPECTFIT | 本地相机预览填充模式 |
适配类型 | 描述 |
---|---|
VHLivePushFormat.DRAW_MODE_NONE | 默认 |
VHLivePushFormat.DRAW_MODE_ASPECTFIT | 自适应居中 |
VHLivePushFormat.DRAW_MODE_ASPECTFILL | 铺满全屏 |
镜像视频画面
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
mirror | 是 | true | 镜像视频画面 预览画面和流都是镜像状态 |
设置美颜
VHVideoCaptureView#setBeautyLevel
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
level | 是 | 1-5 | 美颜等级 |
开始直播
Broadcast#start
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
rehearsal | 否 | lss123345 | 是否发起彩排活动 |
发送聊天
Broadcast#sendChat
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
content | 是 | 消息内容 | 消息内容 |
发送自定义消息
Broadcast#sendCustom
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
content | 是 | JSONObject | 消息内容 |
获取历史聊天记录
Broadcast#acquireChatRecord
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
show_all | 否 | 1 | true显示所有聊天最条为100条 false 为20条 |
List#ChatServer.ChatInfo | 返回数据类 |
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
page | 否 | 1 | 获取条目节点,默认为1 |
limit | 否 | 1-100 | 获取条目数量 ,最大100 |
msgId | 否 | msg_97161 | 锚点消息id,此参数存在时anchor_path 参数必须存在 |
anchorPath | 否 | 20 | 锚点方向,up 向上查找,down 向下查找,此参数存在时 msg_id 参数必须存在 |
isRole | 否 | 0 | 0:不筛选主办方 1:筛选主办方 默认是0 |
List#ChatServer.ChatInfo | 返回数据类 |
设置声音增益的大小
Broadcast#setVolumeAmplificateSize
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
size | 是 | [0.0 1.0] | 设置声音增益的大小 |
int | 返回值 0是成功,非0是失败 |
结束直播
VhallSDK#finishBroadcast
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | 234700561 | 活动id 在网页上创建 |
accessToken | 否 | dn313n4242424242 | 请求API获取的Token 新控制台(化蝶)创建的直播可以不写 |
broadcast | 否 | 新控制台(化蝶)可以不传 | |
rehearsal | 否 | 是否是彩排 |
销毁直播间
broadcast#destroy
直播事件回调
状态码说明-onStateChanged
状态码 | 描述 |
---|---|
Constants.State.START | 开始推流 |
Constants.State.BUFFER | 推流阻塞 |
Constants.State.STOP | 停止推流 |
事件码说明-eventCode
事件码 | 描述 |
---|---|
Constants.Event .EVENT_UPLOAD_SPEED | 上传速度 |
Constants.Event .EVENT_NETWORK_OBS | 网络阻塞 |
Constants.Event .EVENT_NETWORK_UNOBS | 网络恢复 |
错误码说明-errorCode
错误码 | 描述 |
---|---|
Constants.ErrorCode.ERROR_PUSH | 推送过程出错 |
Constants.ErrorCode.ERROR_AUDIO_CAPTURE | 音频采集过程出错 |
Constants.ErrorCode.ERROR_VIDEO_CAPTURE | 视频采集过程出错 |
Push.ERROR_PLAYING | 正在直播、开播失败 |
Push.ERROR_NOT_INIT | 初始化视频信息失败(没有设置活动信息) |
附加说明
修改于 2025-05-27 10:53:25