微信小程式直播播放器元件參數
設定參數
<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。
