快速开始

本文介绍如何用鸿蒙播放器SDK快速实现视频起播。

前提条件

已完成鸿蒙播放器的SDK集成

操作步骤

步骤一:创建播放器

创建AliPlayer播放器。

// 从SDK har包中import播放器相关定义
import { AliPlayerFactory, AliPlayer } from 'premierlibrary';
// 创建播放器 
// 'traceId'为可选项
private mAliPlayer: AliPlayer = AliPlayerFactory.createAliPlayer(getContext(), 'traceId');
// 传入traceId
mAliPlayer.setTraceId("traceId");
说明

播放器提供的播放质量监控(可查看播放器整体播放质量相关数据)、单点追查(可定位到具体的用户或设备,分析其播放行为,快速定位播放异常等问题)及视频播放统计功能都依赖埋点日志上报功能而实现。

在创建播放器时,根据setTraceID参数的设置不同,其后续可实现的功能不同,具体如下:

  • setTraceID参数不传(默认):埋点日志上报功能开启,后续可以使用播放质量监控和视频播放统计功能,无法使用单点追查功能。

  • setTraceID参数传入traceid:traceid的值由您自行定义,需为您的用户或用户设备的唯一标识符,例如传入您业务的userid或者IMEI、IDFA等您业务用户的设备ID。传入traceid后,埋点日志上报功能开启,后续可以使用播放质量监控、单点追查和视频播放统计功能。

  • setTraceID参数设置为DisableAnalytics:关闭埋点日志上报,后续无法使用播放质量监控、单点追查和视频播放统计功能。

步骤二:设置显示视图

绑定播放器与鸿蒙XComponent组件,实现视频画面渲染。

XComponent({
  id: '0', // unique XC id
  type: XComponentType.SURFACE,
  libraryname: 'premierlibrary',
  controller: this.xComponentController
})
  .onLoad(async () => {
    // 设置播放源、控制播放
    
    //(必须)绑定URL & XC_SurfaceId
    this.mAliPlayer.setSurfaceId('0'); // surface ID 对应 XC ID      
  })
  .width('100%')
  .height(200)
重要

XComponent需要通过libraryname: 'premierlibrary'来加载播放器SO,同时需要指定唯一的ID来区分不同的XComponent,以避免视频渲染出现冲突问题。

步骤三:设置播放源

VidAuth播放(推荐)

let vidAuth: VidAuth = new VidAuth();
vidAuth.setVid("Vid信息");// 必选参数,视频ID(VideoId)。
vidAuth.setPlayAuth("<yourPlayAuth>");// 必选参数,播放凭证,需要调用点播服务的GetVideoPlayAuth接口生成。
vidAuth.setRegion("接入地域");// 非必须参数,默认为cn-shanghai。
// vidAuth.setAuthTimeout(3600);// 播放地址的有效时长,单位:秒。该时长会覆盖在视频点播控制台设置的URL鉴权的有效时长。如果不传,则取默认值3600。如需设置此参数,请确保该时间大于视频的实际时长,防止播放地址在播放完成前过期。
mAliPlayer.setVidAuthDataSource(vidAuth);

VidSts播放

let vidSts: VidSts = new VidSts();
vidSts.setVid("Vid信息");// 必选参数,视频ID(VideoId)。
vidSts.setAccessKeyId("<yourAccessKeyId>");// 必选参数,STS临时AK对的访问密钥ID,需要调用STS服务的AssumeRole接口生成。
vidSts.setAccessKeySecret("<yourAccessKeySecret>");// 必选参数,STS临时AK对的访问密钥,需要调用STS服务的AssumeRole接口生成。
vidSts.setSecurityToken("<yourSecurityToken>");// 必选参数,STS安全令牌,需要调用STS服务的AssumeRole接口生成。
vidSts.setRegion("接入地域"); // 非必须参数,默认为cn-shanghai。
// vidSts.setAuthTimeout(3600);// 播放地址的有效时长,单位:秒。该时长会覆盖在视频点播控制台设置的URL鉴权的有效时长。如果不传,则取默认值3600。如需设置此参数,请确保该时间大于视频的实际时长,防止播放地址在播放完成前过期。
mAliPlayer.setVidStsDataSource(vidSts);

UrlSource播放

// 创建播放源对象并设置播放地址
let urlSource: UrlSource = new UrlSource();
// 必选参数
urlSource.setUri("播放地址");
mAliPlayer.setUrlDataSource(urlSource);
说明

更多设置播放源方法,请参见基础功能

步骤四:开始播放

// 准备播放
mAliPlayer.prepare();
// 开始播放
mAliPlayer.start();

步骤五:结束播放

// 停止播放
mAliPlayer.stop();
// 销毁播放器
mAliPlayer.release();

相关文档

有关更多播放器基础功能(如播放控制、事件监听等),请参见基础功能