属性 | 类型 | 说明 |
playerId | string | 播放器 Id |
playletPlugin.onPageLoad((res) => {console.log('页面加载完成,播放器ID:', res.playerId);});
属性 | 类型 | 说明 |
playerId | string | 播放器 Id |
playletPlugin.onPageDestory((res) => {console.log('页面销毁完成,播放器ID:', res.playerId);});
plugin.onPageLoad((info) => {const playletManager = plugin.PlayletManager.getPageManager(info.playerId);console.log('manager',manager);})
字段名 | 类型 | 必填 | 默认值 | 说明 |
id | string | 是 | - | 剧id |
serialNo | number | 是 | - | 剧集id |
title | string | 是 | - | 剧名 |
imgUrl | string | 否 | '' | 剧封面图 |
introduction | string | 否 | '' | 短剧简介 |
tags | list | 否 | [] | 短剧标签 |
playRate | number | 否 | 1 | 播放速度 |
extParam | string | 否 | {} | 扩展参数 |
clarity | list | 否 | [ { clarity: 240 * 426, title: "360P" }, { clarity: 480 * 852, title: "480P" }, { clarity: 720 * 1280, title: "720P" }, { clarity: 1080 * 1920, title: "1080P" } ] | 清晰度 |
defaultClarity | object | 否 | { clarity: 480 * 852, title: "480P" } | 默认清晰度 |
initial-time | number | 否 | 0 | 起始播放时间 |
data | list | 是 | - | 剧集状态列表 |
字段名 | 类型 | 必填 | 默认值 | 说明 |
status | number | 是 | - | 播放状态 0:免费;1:已解锁 ;2 :未解锁 |
videoUrl | string | 否 | '' | 播放地址,付费剧集非必传 |
coverImg | string | 否 | - | 封面照片,不设置的时候展示 imgUrl |
license-url | string | 否 | '' | 播放许可证地址 |
Certificate-url | string | 否 | '' | 证书地址 |
provision-url | string | 否 | '' | 设备预置地址 |
PlayletManager.setPlaylets({id:"sid", // 剧IDserialNo:1 // 剧集 ID 从1开始title:"名字",imgUrl:"图片地址",introduction:"短剧简介",tags: ["友情", "魔幻"],playRate: 1extParam:"{{xxx}}",clarity:[{"360p": 240 * 426},{"480p":480 * 852},"720p":720 * 1280,"1080p":1080 * 1920] // HLS 下才生效defalutClarity: {"720p":720 * 1280 }// 默认清晰度'initial-time': 0,data: [{license-url:"",certificate-url:"",provision-url:"",status: 0,videoUrl: "播放URL" // 非免费剧集非必传coverImg:"封面照片" // 非必传}]})
字段名 | 类型 | 必填 | 默认值 | 说明 |
List | Array<FreeItem> | 是 | - | 剧集解锁弹窗,最多支持四项 |
字段名 | 类型 | 必填 | 默认值 | 说明 |
Title | string | 是 | - | 解锁操作名 |
Callback | function | 是 | - | 具体解锁操作 |
PlayletManager.setLockMenu([{title: "看广告解锁",callback: (data) => {if (!data.serialNo) {return;}PlayletManager.setCanPlay(data.serailNo, 1)}},{title: "单集购买",callback: (data) => {if (!data.serialNo) {return;}PlayletManager.setCanPlay(data.serailNo, 1)}}])
字段名 | 类型 | 必填 | 默认值 | 说明 |
SerialNo | number | 是 | - | 剧集 id |
Status | number | 是 | - | 播放状态 |
VideoUrl | string | 是 | - | 播放地址 |
const unlockData = [{serialNo: 6, //集数status: 1,videoUrl: videoUrl // 播放地址}];PlayletManager.setCanPlay(unlockData);
manager.onCheckIsCanPlay((data) => {let episodes = [];if (data.episodes) {episodes = data.episodes;}// 批量检查并设置状态const results = episodes.map(ep => {const serialNo = ep.serialNo;let status;if (parseInt(serialNo) <= 3) {// 假设前3集免费status = 0;} else {status = 2;}return { serialNo: serialNo, status: status };});manager.setCanPlay(results);});
属性 | 类型 | 说明 |
eventId | number | 播放错误事件类型 |
属性 | 类型 | 说明 |
serialNo | number | 剧集 id |
playerId | string | 播放器 id |
exParam | string | 分享扩展参数 |
duration | string | 当前剧集的总时长 |
playtime | string | 当前播放到的时间 |
属性 | 类型 | 说明 |
EventType | string | 'CHANGE_SERIAL':切换剧集, 例如 { slideType: 1 }。slideType 为1表示播放结束(不区分是否完播)自动切换,2表示手势滑动切换,3表示从选集弹窗切换。 'CHANGE_SPEED':切换播放速度 ,例如{ source: 1, speedType: 1.5 },返回 source(目前固定为1),speedType 为当前播放速度。 'CHANGE_CLARITY':切换播放清晰度 ,返回当前播放清晰度 clarity。 |
manager.onCustomEvent((data) => {if (data.eventType === 'CHANGE_CLARITY') {console.log('用户切换清晰度:', data.clarity);}if (data.eventType === 'CHANGE_SERIAL') {console.log('用户切换视频:', data.slideType);}if (data.eventType === 'CHANGE_SPEED') {console.log('用户改变播放速度:', data.speedType, data.source);}});
字段名 | 描述 |
playerId | 播放器 id |
extParam | 分享扩展参数 |
serialNo | 当前剧集索引,从1开始计数 |
playTime | 当前播放到的时间 |
duration | 当前剧集的总时长 |
totalCount | 当前剧集总集数 |
字段名 | 描述 | 额外字段说明 |
LOAD | 进入播放器页面 | - |
SHOW | 播放器页面 show | - |
START_PLAY | 开始播放 | - |
UNLOAD_OR_HIDE | 离开页面或者退到后台 | 例如 { type: 1 }。type为1表示 Unload,为 2 表示 hide; |
VIDEO_PLAY | play 事件 | - |
VIDEO_TIME_UPDATE | timeupdate 事件 | 参数参考 video 组件的 timeupdate 事件 |
VIDEO_END | 播放视频结束 | - |
文档反馈