本文介绍如何用鸿蒙播放器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();
相关文档
有关更多播放器基础功能(如播放控制、事件监听等),请参见基础功能。
该文章对您有帮助吗?