保利威文档中心

幫助中心

3-视频播放

更新時間:2024-06-13 18:25:31

1.播放器

播放器的對外核心介面為IPLVMediaPlayer,該介面的實作類別是PLVMediaPlayer

2.初始化

您可以透過建構方法直接建立播放器實例,例如:

const player: PLVMediaPlayer = new PLVMediaPlayer();

3.設定渲染畫面

播放器透過surface類型的 XComponent 元件進行渲染,libraryname 為plvplayer_xcomponent,您可以透過setXComponent方法將渲染畫面設定給播放器:

XComponent({
  id: `plv_media_player_video_xcomponent`,
  type: "surface",
  libraryname: "plvplayer_xcomponent"
}) {
}
.onLoad((xcomponent) => {
  // 设置渲染画面
  this.player.setXComponent(xcomponent)
})

4.設定資料來源

透過呼叫介面setMediaResource()設定資料來源

/**
 * 设置播放资源
 */
setMediaResource(mediaResource: PLVMediaResource): void

在呼叫該介面後,預設會自動開始播放,您也可以透過播放參數配置來控制不自動起播

5.播放參數配置

透過呼叫介面setPlayerOption()設定播放參數

/**
 * 设置播放参数
 */
setPlayerOption(options: PLVMediaPlayerOption[])

PLVMediaPlayerOptionEnum類別中提供了一些常用的播放參數,您可以直接引用其中的常數,例如:

// 开启精准seek的参数
PLVMediaPlayerOptionEnum.ENABLE_ACCURATE_SEEK.value("1")

對於重複設定的參數,新設定的參數會覆蓋舊的參數;如果想要清空參數,可以在 value 欄位中傳入空字串

6.播放控制

播放器提供了一系列的播放控制介面,例如:

/**
 * 开始播放
 */
start(): void;

/**
 * 暂停播放
 */
pause(): void;

/**
 * 跳转播放进度到指定位置
 * @param position 指定位置,单位:毫秒
 */
seek(position: number): void;

更多控制操作可以參考IPLVMediaPlayer以及它的父介面IPLVMediaPlayerControl

7.回呼

播放器的狀態、事件回呼可以透過回呼註冊中心進行監聽,包括:

  • IPLVMediaPlayerBusinessListenerRegistry:播放器業務回呼註冊中心
  • IPLVMediaPlayerEventListenerRegistry:播放器事件回呼註冊中心
  • IPLVMediaPlayerStateListenerRegistry:播放器狀態回呼註冊中心

以監聽播放/暫停狀態為例,可以透過以下方式進行監聽:

const playingState: MutableState<PLVMediaPlayerPlayingState> = player.getStateListenerRegistry().playingState;
const observer = playingState.observe((state: PLVMediaPlayerPlayingState) => {
  // 处理逻辑
  const isPlaying = state === PLVMediaPlayerPlayingState.PLAYING;
});

8.銷毀

播放結束後不再使用播放器時,應銷毀播放器:

player.destroy();
联系客服,在线咨询