Web回放iFrameUI
1. 概述
回放iFrameUI为在您的网页中,通过Iframe方式,直接嵌套获得场景视频回放观看页面,快速实现回放观看功能。
资源下载
下载地址:https://dl.csslcloud.net/live/sdk/web/playbackIframeUI/demo.zip
压缩包内包Demo
浏览器支持
- Chrome 60+
- Firefox 52+
- IE9+
- Edge
- Safari 10+
1.1 功能特性
iFrameUI目前包含播放器、文档功能、聊天功能、问答功能、以及随堂测、广播等互动功能
1.1.1 主要功能描述
功能 | 描述 |
播放器 |
支持发送弹幕 支持跑马灯 支持自定义背景图片、提示语 多清晰度切换 截图 |
聊天 |
支持公聊、私聊 支持聊天置顶 支持发送自定义表情 支持用户禁言 |
问答 | 支持课堂问答 |
文档 | 支持文档跑马灯 |
互动 |
支持发布公告、广播 支持视频、语音连麦 支持打卡、签到 支持答题、随堂测、问券 支持点赞、打赏 支持直播带货 |
2.快速集成
2.1 采用iFrameUI
通过iframe方式,在您的网页中,引入获得场景视频回放观看页面地址 。
<iframe allow="geolocation; microphone; camera; midi; encrypted-media;" src="您在获得场景视频平台的云直播回放观看地址" width="100%" height="1000" sandbox="allow-same-origin allow-scripts" allow="autoplay" scrolling="no" allow-scripts="" allowfullscreen="true" allowusermedia=""></iframe>
3.iFrameUI核心回调事件监听及说明
通过浏览器的onmessage
窗口事件,监听iFrameUI的各回调事件,简易代码示例如下:
// toJson解析工具函数
function toJson (data) {
if (!data) return {}
if (typeof data === 'string') {
try {
data = JSON.parse(data)
} catch (e) {
data = data.replace(/[\n|\t|\s|\r|\f]/g, "")
data = JSON.parse(data)
}
}
return data
}
// 挂载iFrame消息监听事件, 监听消息通知
window.hdMessage = function (event) {
const msg = toJson(event.data)
const {from, action, data} = msg
console.log('from: ', from) // 消息来源 'hdPlayback'
console.log('action: ', action}) // 消息事件
console.log('data: ', data) // 事件的具体内容
}
if (window.attachEvent){
window.attachEvent('onmessage', window.hdMessage, false)
} else {
window.addEventListener('message', window.hdMessage, false)
}
其中,from
统一为hdPlayback
, 代表消息由获得场景回放页面发出; 具体各action
及 对应的 data
详细说明如下:
action | data | 事件说明 |
duration |
{ recordid: 'xxx', // 回放id time: 1000, // 该回放总时长,单位为秒(s); } |
回放总时长 |
onPlay |
{ recordid: 'xxx', // 回放id time: 1, // 事件触发时, 针对该回放的相对时间, 单位为秒(s); } |
播放 |
onPause |
{ recordid: 'xxx', // 回放id time: 1, // 事件触发时, 针对该回放的相对时间, 单位为秒(s); } |
暂停 |
onSeeked |
{ recordid: 'xxx', // 回放id time: 1, // 事件触发时, 针对该回放的相对时间, 单位为秒(s); } |
拖拽进度条/快进/快退 |
onEnd |
{ recordid: 'xxx', // 回放id time: 1, // 事件触发时, 针对该回放的相对时间, 单位为秒(s); } |
播放结束 |
timeupdate |
{ recordid: 'xxx', // 回放id time: 1, // 事件触发时, 针对该回放的相对时间, 单位为秒(s); } |
当前播放进度 |
onChangeRate |
{ recordid: 'xxx', // 回放id rate: 1.25, // 事件触发时, 对应的倍速值; } |
播放倍速切换 |
onChangeQuality |
{ recordid: 'xxx', // 回放id quality: '原画', // 事件触发时, 对应的清晰度; } |
清晰度切换 |