微信小程序直播播放器组件参数
配置参数
<plv-live-player
config="{{ config }}"
>
</plv-live-player>
参数列表
config
类型:PlayerConfig
描述:播放器配置参数,包含视频播放相关的配置信息。
ps: 仅使用video组件进行播放需要配置forceVideo: true参数
controlSlots
类型:Array<ControlSlotTypes>
描述:自定义控制插槽,用于自定义播放器的控制元素。
<plv-live-player
config="{{ config }}"
controlSlots="{{ [ 'skin-play', 'skin-pause' ] }}"
>
<!-- 自定义播放按钮样式 -->
<view
slot="skin-play"
style="background: url('https://xxx/diy-play-icon.png');"
></view>
<!-- 自定义暂停按钮样式 -->
<view
slot="skin-pause"
style="background: url('https://xxx/diy-pause-icon.png');"
></view>
</plv-live-player>
autoplay
类型:boolean 描述:是否自动播放视频。
vodSetting
类型:VodSetting
描述:回放相关配置参数,包含回放视频的相关信息。
pipMode
类型:PictureInPictureMode
描述:画中画(小窗播放)模式。
object-fit
类型:'contain' | 'fillCrop',默认值:contain。
用于设置视频画面在播放器容器中的填充方式。使用前请确认所接入的自定义组件包或插件版本支持此属性。
| 值 | 说明 |
|---|---|
contain |
等比缩放,完整显示画面。画面与容器比例不同时,可能出现黑边。 |
fillCrop |
等比缩放并铺满容器,裁切超出容器的画面,不拉伸视频。 |
将该属性设置在播放器组件上,不放入 config:
<plv-live-player
config="{{ playerConfig }}"
object-fit="fillCrop"
/>
插件接入时,在页面声明的播放器组件(例如 <polyv-live-player>)上设置同一属性。
需要动态切换时,使用 object-fit="{{ objectFit }}",并通过页面的 setData 更新属性值:
this.setData({ objectFit: 'fillCrop' }); // 切换为等比裁切铺满
this.setData({ objectFit: 'contain' }); // 切换为完整显示
切换填充方式无需重新设置 config。该属性适用于直播、回放和暖场视频;暖场图片不受影响。使用原生 video 播放时,fillCrop 会映射为 cover。
min-cache / max-cache
两个参数均为可选的组件独立属性,不放入 config。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
min-cache |
number |
1 |
原生 live-player 的最小缓冲区,单位:秒。 |
max-cache |
number |
3 |
原生 live-player 的最大缓冲区,单位:秒。 |
参数含义与微信原生 live-player 一致。
<plv-live-player
config="{{ playerConfig }}"
min-cache="{{ minCache }}"
max-cache="{{ maxCache }}"
/>
页面 data 中可设置 minCache: 1、maxCache: 3,通过 setData 更新,无需重新设置 config。使用插件时,在页面声明的播放器组件(例如 <polyv-live-player>)上设置同一组属性,并确认所引用的插件版本支持这两个参数。
仅使用原生 live-player 播放的直播生效,不影响回放、暖场及使用 video 播放的直播(如 forceVideo 或 .m3u8 地址)。
增大缓冲时间有助于抵抗网络波动,但会增加播放延迟。请根据网络条件和业务需求调整;缓冲时间不等于端到端延迟,调整这两个参数不会切换播放模式。
常见问题
设置 fillCrop 后,为什么仍可能有黑边?
fillCrop 按视频画面的整体比例进行缩放和裁切,不能识别或保证去除视频源内部已有的黑边。若黑边已编码在视频中,需要调整推流或视频制作设置。
切换填充方式是否需要重新初始化播放器?
不需要。更新组件的 object-fit 属性即可,无需修改 config。


