观看回放/点播
观看回放/点播
注意事项
1.
观看回放步骤
1.
2.
3.
4.
5.
6.
核心类
类名 | 描述 |
---|---|
WatchPlayback | 看回放核心类 |
VHPlayerListener | 回放事件回调 |
MessageServer#Callback | 房间消息回调 |
ChatServer#Callback | 聊天消息回调 |
关键方法
方法 | 方法描述 |
---|---|
initWatch | 初始化直播间信息 |
WatchPlayback.Builder() | 初始化回放实例 |
watchPlayback.setWebinarInfo | 设置直播间详情 |
VhallSDK.permissionsCheck | 获取活动配置开关(获取回放禁言开关,章节打点开关) |
watchPlayback.setScaleType | 本地预览填充模式 |
watchPlayback.setDefinition | 设置分辨率 |
watchPlayback.isPlaying | 播放状态 |
watchPlayback.start | 开始观看 |
watchPlayback.setSpeed | 设置观看倍速 |
watchPlayback.getCurrentPosition | 获取当前进度时间 (毫秒) |
watchPlayback.getDuration | 获取总时长 (毫秒) |
watchPlayback.seekTo | 跳转进度 (毫秒) |
watchPlayback.getPlayerState | 当前播放器状态 |
watchPlayback.stop | 暂停播放 |
watchPlayback.takeVideoScreenshot | 播放器截图 |
watchPlayback.sendComment | 发送聊天 |
watchPlayback.requestCommentHistory | 获取历史聊天记录 |
VhallSDK.getRecordChaptersList | 获取章节打点信息 |
VhallSDK.getRecordList | 获取活动下回放列表 |
VhallSDK.getFilesList | 文件下载列表 |
watchPlayback.destroy | 销毁直播间 |
VHPlayerListener | 直播事件回调 |
初始化直播间信息
只有正在回放的活动才可以成功
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | 234700561 | 活动id 在网页上创建 |
否 | 123456 | 邮箱 | |
nickName | 否 | " name" | 昵称 |
password | 否 | 123 | 密码/k值 |
status | 是 | WebinarInfo.BESPEAK | 活动状态 WebinarInfo.LIVE看直播/WebinarInf.BESPEAK 看回放 |
k_id | 否 | 123 | k_id值 |
record_id | 否 | 回放id 指定回放id 获取活动下回放列表 | |
LoadWebinarInfoCallback#WebinarInfo | 活动详情 |
初始化回放实例
内部变量说明
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
Context | 是 | watchView.getActivity() | 上下文对象 |
vodPlayerView | 是 | VodPlayerView | 回显视频view |
DocumentEventCallback | 否 | 观看回放过程中的文档白板事件监听 | |
ChatServer.Callback | 否 | 聊天监听 | |
MessageServer.Callback | 否 | 消息监听 | |
VHPlayerListener | 否 | 播放器消息 |
设置直播间详情
备注:只设置一次,不要多次设置
本地预览填充模式
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
mode | 是 | VHLivePushFormat.DRAW_MODE_ASPECTFIT | 本地相机预览填充模式 |
适配类型 | 描述 |
---|---|
Constants.DrawMode.kVHallDrawModeNone.getValue() | 默认 |
Constants.DrawMode.kVHallDrawModeAspectFit.getValue() | 自适应居中 |
Constants.DrawMode.kVHallDrawModeAspectFill.getValue() | 铺满全屏 |
设置分辨率
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
definition | 是 | 360 | 要设置的分辨率 , 监听播放器 EVENT_DPI_LIST 事件获取支持的分辨率列表 |
获取章节打点信息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
record_id | 是 | 回放id | record_id来源 |
RecordChaptersData-章节打点列表
参数名称 | 备注 |
---|---|
list | List#ListBean 数据列表 |
ListBean-章节数据
参数名称 | 备注 |
---|---|
hash | 文档hash |
created_at | 文档章节演示时间点 相对视频起始的开始时间点 double s |
title | 章节名称 |
step_total | 子章节数量 |
step | 当前文档子章节标识 |
page | 当前文档章节页数 |
subsection | 子章节信息 |
document_id | 文档id |
获取活动下回放列表
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
webinar_id | 是 | 123456789 | 活动id |
page | 是 | 1 | 页码 1开始 |
limit | 是 | 10 | 每页条数 |
RecordsData-回放列表
参数名称 | 备注 |
---|---|
total | int 总个数 |
list | List#ListBean 数据列表 |
ListBean-回放数据
参数名称 | 备注 |
---|---|
record_id | 回放id |
webinar_id | 所属活动id |
name | 回放名称 |
user_id | 用户id |
type | 类别 6默认回放 |
img_url | 图片地址 |
created_at | 创建时间 |
updated_at | 修改时间 |
duration | 视频时长;例如 00:03:20 |
source | 来源 0 回放 1 录制 2 上传 3 打点录制 |
quality | 清晰度 |
transcode_code | 转码流媒体返回code码 |
percent | 转码进度百分比 |
switch_id | 回放对应的场次id |
encrypt_status | 0:未加密 1:加密中 2:加密成功 |
is_rehearsal | 是否彩排 1 :是 0 :否 |
doc_status | 1:有章节 0:没有章节 |
is_union_screen | 是否融屏 1:是 0 否 |
remake_doc_progress | 课件重置进度 生成进度 如88 初始为0 |
文件下载列表
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
webinar_id | 是 | 123456789 | 活动id |
menu_item | 是 | webinarInfo.file_download_menu | 文件下载菜单实例 |
FilesData-文件列表
参数名称 | 备注 |
---|---|
total | int 总个数 |
list | List#ListBean 数据列表 |
ListBean-文件数据
参数名称 | 备注 |
---|---|
file_name | 文件名称 |
file_size | 文件大小 |
file_ext | 文件格式 |
file_id | 文件ID |
file_type | 文件类型 0:文档 1:音视频 |
file_desc | 文件描述 |
img_url | 文件封面 |
播放状态
获取当前播放状态
开始观看
if (getWatchPlayback().getPlayerState() == Constants.State.END) {
getWatchPlayback().seekTo(0);
}
设置观看倍速
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
speed | 是 | 1.5 | 速度 |
获取当前进度时间
获取总时长
跳转进度
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
position | 是 | 0 | 跳转时间 不要超过总时长 |
当前播放器状态
返回值
参数名称 | 备注 |
---|---|
Constants.State.NONE | 没有开播 |
Constants.State.IDLE | 闲置 |
Constants.State.START | 开始 |
Constants.State.PAUSE | 暂停 |
Constants.State.STOP | 停止 |
Constants.State.BUFFER | 缓冲 |
Constants.State.END | 播放完成 |
发送聊天
备注:接口成功之后在消息监听里面接收自己的消息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
content | 是 | 消息内容 | 消息内容 |
获取历史聊天记录
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
webinar_id | 是 | 123456789 | 活动id |
page | 否 | 1 | 获取条目节点,默认为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 | 返回数据类 |
暂停播放
播放器截图
销毁直播间
直播事件回调
状态码说明-onStateChanged
状态码 | 描述 |
---|---|
Constants.State.START | 开始推流 |
Constants.State.BUFFER | 推流阻塞 |
Constants.State.STOP | 停止推流 |
事件码说明-eventCode
事件码 | 描述 |
---|---|
Constants.Event.EVENT_DOWNLOAD_SPEED | 下载速度 |
Constants.Event.EVENT_DPI_CHANGED | 分辨率切换 |
Constants.Event.EVENT_DPI_LIST | 支持的分辨率 |
Constants.Event.EVENT_VIDEO_SIZE_CHANGED | 视频的宽高 |
Constants.Event.EVENT_CUE_POINT | 视频打点 "[{"msg":"事件1","timePoint":12}]" |
ErrorCode.ERROR_LOGIN_MORE | 被其他人踢出 |
Watch.EVENT_INIT_PLAYER_SUCCESS | 播放器初始化成功 |
错误码说明-errorCode
错误码 | 描述 |
---|---|
Push.ERROR_NOT_INIT | 初始化视频信息失败(没有设置活动信息) |
附加信息
1.
2.
<com.vhall.player.vod.VodPlayerView
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
3.
因为回放播放器本身是透明的 所以可以直接设置回放播放器父容器的颜色或背景图。
修改于 2025-05-27 10:59:00