快速开始

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

前提条件

已完成iOS播放器的SDK集成

开源示例工程

详细代码示例可参考API-Example视频播放演示、播放控制(BasicPlayback)模块,该工程是基于Objective-C的阿里云播放器SDK iOS示例工程,能够帮助开发者快速掌握SDK核心功能集成。

操作步骤

步骤一:创建播放器

创建AliPlayer播放器。

// 创建播放器实例
AliPlayer mAliPlayer = [[AliPlayer alloc] init];

// 创建用于承载播放画面的视图容器,并设置播放器渲染视图
UIView playerView = [[UIView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:playerView];
mAliPlayer.playerView = playerView;

[mAliPlayer setTraceID:traceId];
说明

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

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

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

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

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

步骤二:设置播放源

VidAuth播放(推荐)

AVPVidAuthSource *authSource = [[AVPVidAuthSource alloc] init];
authSource.vid = @"Vid信息"; // 必选参数,视频ID(VideoId)。
authSource.playAuth = @"<yourPlayAuth>"; // 必选参数,播放凭证,需要调用点播服务的GetVideoPlayAuth接口生成。
authSource.region = @"接入地域"; // 5.5.5.0及之后版本播放器SDK,本参数已弃用,无需设置region,播放器会自动解析region;5.5.5.0之前版本播放器SDK,本参数必选,点播服务的接入地域,默认为cn-shanghai。
// authSource.authTimeout = 3600; // 播放地址的有效时长,单位:秒。该时长会覆盖在视频点播控制台设置的URL鉴权的有效时长。如果不传,则取默认值3600。如需设置此参数,请确保该时间大于视频的实际时长,防止播放地址在播放完成前过期。

// 设置播放源
[mAliPlayer setAuthSource:authSource];

VidSts播放

AVPVidStsSource *source = [[AVPVidStsSource alloc] init];
source.vid = @"Vid信息"; // 必选参数,视频ID(VideoId)。
source.region = @"接入地域"; // 必选参数,点播服务的接入地域,默认为cn-shanghai。
source.securityToken = @"<yourSecurityToken>"; // 必选参数,STS安全令牌,需要调用STS服务的AssumeRole接口生成。
source.accessKeySecret = @"<yourAccessKeySecret>"; // 必选参数,STS临时AK对的访问密钥,需要调用STS服务的AssumeRole接口生成。
source.accessKeyId = @"<yourAccessKeyId>"; // 必选参数,STS临时AK对的访问密钥ID,需要调用STS服务的AssumeRole接口生成。
// source.authTimeout = 3600; // 播放地址的有效时长,单位:秒。该时长会覆盖在视频点播控制台设置的URL鉴权的有效时长。如果不传,则取默认值3600。如需设置此参数,请确保该时间大于视频的实际时长,防止播放地址在播放完成前过期。
//若您在VOD控制台开启了HLS标准加密参数透传,且默认的参数名为MtsHlsUriToken,那么需要设置config,并将其传入vid中,参考下述

// 设置播放源
[mAliPlayer setStsSource:source]

UrlSource播放

// 创建播放源对象并设置播放地址
// 播放地址,可以是第三方点播地址,或阿里云视频点播服务中的播放地址,也可以是本地视频地址。
AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:@"播放地址"];
[mAliPlayer setUrlSource:urlSource];
说明

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

步骤三:开始播放

// 准备播放
[mAliPlayer prepare];
// prepare 以后可以同步调用 start 操作,onPrepared 回调完成后会自动起播
[mAliPlayer start];

步骤四:结束播放

// 停止播放
[mAliPlayer stop];
// 同步释放,内部会自动调用stop接口
[mAliPlayer destroy];
// 清空引用,避免内存泄漏
mAliPlayer = nil;

相关文档

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