# 短剧播放器接口
本文主要介绍下短剧播放器插件提供的几个接口,在js代码里,插件接口示例通过下面的代码获取
// 名字playlet-plugin必须和app.json里面引用的插件名一致
const playletPlugin = requirePlugin('playlet-plugin')
# playletPlugin.onPageLoad()
onPageLoad就是播放器页面的onLoad事件,接受的参数是函数,直接在app.js的onLaunch里面调用即可
App({
onLaunch(options) {
playletPlugin.onPageLoad(this._onPlayerLoad.bind(this))
},
_onPlayerLoad(info) {
console.log('onPlayerLoad', info.playerId, info)
// 在这里可以调用
const pm = playletPlugin.PlayletManager.getPageManager(info.playerId)
console.log('get playlet manager', pm)
},
})
# playletPlugin.getPluginVersion()
接口返回当前的插件版本,例如0.1.4
# playletPlugin.getShareParams()
接口返回Promise实例,当从App跳转、分享、公众号、二维码等场景,直接进入到播放器页面的时候,开发者可通过此接口获取跳转到页面链接上的参数。
注意:如果不是直接进入播放器页面的,返回Promise.reject({err: '首个页面不是播放器页面'})
。
playletPlugin.getShareParams().then(res => {
console.log('getShareParams res', res)
}).catch(err => {
console.log('getShareParams err', err)
})
# playletPlugin.setLoggerConfig(Object param)
设置播放器插件的日志输出:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
info | boolean | 否 | 是否输出 info 日志,默认为 false |
debug | boolean | 否 | 是否输出 debug 日志,默认为 false |
log | boolean | 否 | 是否输出 log 日志,默认为 false |
warn | boolean | 否 | 是否输出 warn 日志,默认为 true |
error | boolean | 否 | 是否输出 error 日志,默认为 true |
# playletPlugin.PlayletManager
PlayletManager是一个类,可通过playletPlugin.PlayletManager.getPageManager(playerId)
获取其实例,大部分的接口都在该实例对象上提供,例如getInfo
、showChargeDialog
等。获取PlayletManager示例如下:
App({
onLaunch(options) {
playletPlugin.onPageLoad(this._onPlayerLoad.bind(this))
},
_onPlayerLoad(info) {
console.log('onPlayerLoad', info.playerId, info)
// 在这里可以调用
const pm = playletPlugin.PlayletManager.getPageManager(info.playerId)
console.log('get playlet manager', pm)
},
})
在很多接口,都可以获取到playerId,例如onPageLoad事件、充值组件、运营组件等,然后通过playerId可以获取到PlayletManager实例。 PlayletManager实例的更多接口介绍如下:
# PlayletManager.setCanPlaySerialList(Object param)
设置可播放剧集,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
data | string | 是 | 可播放剧集的加密串 |
freeList | Array | 否 | 免费剧集列表,注意:此字段仅改变目录中的剧集显示 ui,并不会做真正的解锁处理 |
data是加密串具体参考短剧播放器加密方案章节。
FreeItem字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
start_serial_no | number | 是 | 起始免费剧集编号,从1开始 |
end_serial_no | number | 是 | 结束免费剧集编号,包含此集 |
# PlayletManager.setFreeList(Object param)
在用户观看过程中重新设置免费剧列表,注意:此接口仅改变目录中的剧集显示 ui,并不会做真正的解锁处理。接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
list | Array | 否 | 免费剧集列表 |
FreeItem字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
start_serial_no | number | 是 | 起始免费剧集编号,从1开始 |
end_serial_no | number | 是 | 结束免费剧集编号,包含此集 |
# PlayletManager.getInfo()
获取当前剧集信息,返回Object字段定义如下:
字段名 | 类型 | 描述 |
---|---|---|
playerId | string | 播放器页面唯一ID,可通过此参数获取到PlayletManager实例 |
srcAppid | string | 提审方appid |
dramaId | string | 媒资管理后台上传的剧目id |
serialNo | number | 当前播放到第几集 |
extParam | string | 扩展参数 |
# PlayletManager.onCheckIsCanPlay(Function func)
播放到需要解锁的剧集触发此事件,开发者可在此事件内解锁剧集。
参数名 | 类型 | 描述 |
---|---|---|
serialNo | number | 剧集ID |
isRetry | boolean | 是否因重试而触发。当遇到可能由于 session_key 过期等原因引发解密失败时,插件会重试一次触发 onCheckIsCanPlay |
# PlayletManager.isCanPlay(Object param)
设置可播放剧集,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
data | string | 否 | 可播放剧集的加密串,当传入 useLastStatus=true 时可不传 |
serialNo | number | 是 | 剧集ID |
useLastStatus | boolean | 否 | 表示维持之前设置的剧集上锁状态,此字段设置为 true 时可不传 data 字段 |
data是加密串,具体的含义和setCanPlaySerialList一样。
# PlayletManager.onShowChargeDialog(Function func)
充值弹窗打开事件
# PlayletManager.onHideChargeDialog(Function func)
充值弹窗关闭事件
# PlayletManager.hideChargeDialog()
关闭充值弹窗
# PlayletManager.showChargeDialog()
打开充值弹窗
# PlayletManager.play()
继续播放
# PlayletManager.pause()
暂停播放
# PlayletManager.onDataReport(Function func)
播放器内相关事件的回调函数
# PlayletManager.onBack(Function func)
播放器内左上角返回点击事件
# PlayletManager.changeDrama(Object param)
更换剧目,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
queryString | string | 是 | key=value&key1=value1格式的参数 |
# PlayletManager.updateChargeDialogInfo(Object param)
更新充值弹窗,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
isTransparentBackground | boolean | 否 | 默认false,设置为true,弹窗背景为透明 |
isDestroyOnHide | boolean | 否 | 默认false,设置为true表示每次收起充值弹窗后销毁充值组件 |
# PlayletManager.updateChargeDialogHeight(Object param)
更新充值弹窗高度,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
height | number | 是 | 设置充值弹窗高度 |
# PlayletManager.setVisualEffectOnCapture(Object param)
接口同wx.setVisualEffectOnCapture
# PlayletManager.setDramaFlag(Object param)
设置分享参数,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
share | boolean | 是 | 默认true,是否打开分享 |
withShareTicket | boolean | 否 | 默认true,同小程序分享的withShareTicket |
# PlayletManager.setExtParam(string extParam)
修改extParam参数
# PlayletManager.onCustomEvent(string name, Function func)
注册自定义事件,用于在充值组件、playletManager、自定义运营位等组件间通信
# PlayletManager.offCustomEvent(string name, Function func)
销毁通过onCustomEvent注册的事件
# PlayletManager.emitCustomEvent(string name, Function func)
触发通过onCustomEvent注册的事件函数
# PlayletManager.updateOpenArea(Object param)
设置自定义开放区域参数,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
showLeft | boolean | 否 | 默认false,是否显示组件open-area-left |
showRight | boolean | 否 | 默认false,是否显示组件open-area-right |
leftWidth | number | 否 | 设置组件open-area-left的宽度 |
leftHeight | number | 否 | 设置组件open-area-left的高度 |
rightHeight | number | 否 | 设置组件open-area-right的高度 |
leftsideAreaList | Array | 否 | 设置多个open-area-left-side组件,数组每一项为LeftSideOption对象 |
ext | string | 否 | 自定义参数,组件open-area-left、open-area-right、open-area-left-side均可通过属性获取到此参数 |
LeftSideOption对象定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
left | number | 否 | 默认false,设置组件的距离左侧位置 |
top | number | 否 | 默认false,设置组件的距离顶部位置 |
width | number | 否 | 设置组件宽度 |
height | number | 否 | 设置组件高度 |
# PlayletManager.setVideoOption(Object param)
设置播放器的播放配置,接受的参数字段定义如下:
字段名 | 类型 | 必填 | 描述 |
---|---|---|---|
objectFit | string | 否 | 同video组件的object-fit属性,默认会根据视频宽高进行计算 |
aspectRatio | number | 否 | 视频高宽比,当objectFit为fill时有效 |
loop | boolean | 否 | 是否循环播放,默认false |
# PlayletManager.navigateTo(Object param)
接口含义和参数同wx.navigateTo。 注意:接口调用成功的前提是用户必须至少点击过页面。
# PlayletManager.navigateBack(Object param)
接口含义和参数同wx.navigateBack。 注意:接口调用成功的前提是用户必须至少点击过页面。
# PlayletManager.redirectTo(Object param)
接口含义和参数同wx.redirectTo。 注意:接口调用成功的前提是用户必须至少点击过页面。
# PlayletManager.switchTab(Object param)
接口含义和参数同wx.switchTab。 注意:接口调用成功的前提是用户必须至少点击过页面。
# PlayletManager.reLaunch(Object param)
接口含义和参数同wx.reLaunch。 注意:接口调用成功的前提是用户必须至少点击过页面。