AliyunPlayer v7.10.0
Aliyun Player API Reference Manual for iOS Platforms
Loading...
Searching...
No Matches
AliPlayer Class Reference

#include "AliPlayer.h"

Inheritance diagram for AliPlayer:
AVPLiveTimeShift AliListPlayer AliVRPlayer

Instance Methods

(void) - addExtSubtitle:
 添加外挂字幕文件
(void) - clearScreen
 清空画面。
(void) - clearScreenSync
 同步清空画面,建议使用clearScreen。
(void) - destroy
 销毁播放器(同步)
(void) - destroyAsync
 异步销毁播放器。当实例不再需要时,省去stop的调用并使用destroyAsync进行异步释放,可以加快页面响应速度,提高体验,释放后不要再调用prepare进行新的起播,否则调用效果不可预知。
(void) - enableDowngrade:config:
 播放器降级设置, 适用于RTS自定义降级url设置,详细可以参考RTS自定义降级url设置
(NSString *) - getCacheFilePath:
 根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onGetCacheNameByURL
(NSString *) - getCacheFilePath:format:definition:
 根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onCacheNameByVidCallback
(NSString *) - getCacheFilePath:format:definition:previewTime:
 根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onCacheNameByVidCallback
(AVPConfig *) - getConfig
 获取播放器配置
(AVPTrackInfo *) - getCurrentTrack:
 获取当前播放track
(AVPMediaInfo *) - getMediaInfo
 获取媒体信息
(NSString *) - getOption:
 获取播放器选项参数
(int64_t) - getPlayedDuration
 获取已播放时长
(void *) - getPlayer
(NSString *) - getPlayerName
 获取播放时使用的播放器名字
(NSString *) - getPropertyString:
 获取播放器属性信息
(AVPMediaInfo *) - getSubMediaInfo
 获取子流媒体信息
(void) - getThumbnail:
 获取指定位置的缩略图
(NSString *) - getUserData
 获取播放器实例的用户数据
(instancetype) - init
 初始化播放器
(instancetype) - init:
 初始化播放器并设置traceID
(int) - invokeComponent:
 向播放器的组件发送命令。
(BOOL) - isAutoBandWidth
 查询多码率自适应选择起播清晰度功能状态
(BOOL) - isEnableSubtitleRender
 查询字幕渲染是否启用
(void) - pause
 暂停播放 暂停当前的播放。状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 若播放器已处于暂停或停止状态,则此调用无效。 要恢复播放,请调用 start 方法。
(void) - prepare
 播放准备,异步 初始化媒体资源,建立网络连接,加载媒体信息。准备完成后通过 AVPEventType::AVPEventPrepareDone 事件通知,或通过 AVPDelegate::onPlayerStatusChanged 回调获取准备完成状态。 准备到准备完成的时间与AVPConfig::startBufferDuration有关
(void) - redraw
 刷新view,例如view size变化时。
(void) - reload
 重新加载。比如网络超时时,可以重新加载。
(void) - reset
 重置播放
(void) - seekToTime:seekMode:
 跳转到指定的播放位置
(void) - selectExtSubtitle:enable:
 选择或关闭外挂字幕轨道
(void) - selectTrack:
 根据轨道索引切换视频清晰度。支持手动指定清晰度或开启自适应码率模式。
(void) - selectTrack:accurate:
 根据轨道索引切换视频清晰度,支持精准跳转选项。
(void) - sendCustomEvent:
 发送自定义埋点事件
(void) - setAuthSource:
 使用vid+playauth方式播放。可参考:https://help.aliyun.com/document_detail/57294.html 通过阿里云视频ID和播放鉴权令牌进行身份验证后播放。 这是阿里云推荐的认证方式,可应用于大多数场景。
(void) - setAutoBandWidth:
 设置多码率自适应选择起播清晰度
(void) - setBitStreamSource:
 使用bitstream方式来播放视频
(BOOL) - setCacheConfig:
 设置缓存配置
(void) - setConfig:
 设置播放器配置
(void) - setDefaultBandWidth:
 设置多码率播放时的默认起播码率
(void) - setDefaultResolution:
 设置多码率播放时的默认起播清晰度
(void) - setEnableSubtitleRender:
 是否关闭字幕渲染
(void) - setEventReportParamsDelegate:
 设置事件上报代理
(void) - setFilterConfig:
 设置滤镜配置
(void) - setFilterInvalid:invalid:
 启用或禁用滤镜
(void) - setLiveStsSource:
 使用LiveSts 方式播放直播流 通过临时安全令牌进行身份验证后播放加密直播流。 适用于需要权限控制和加密的直播场景。
(void) - setMaxAccurateSeekDelta:
 设置精确Seek的最大间隔
(void) - setMpsSource:
 用vid和MPS信息来播放视频。可参考:https://help.aliyun.com/document_detail/53522.html
(void) - setOnURLSourceExpiredCallback:
 设置 URL 源过期通知的回调。
(void) - setOnVidAuthExpiredCallback:
 设置 VidAuth 源过期通知的回调。
(void) - setOption:value:
 设置播放器特定功能选项(字符串值)
(void) - setOption:valueInt:
 设置播放器特定功能选项(整数值)
(void) - setPictureinPictureDelegate:
 为画中画功能设置代理
(void) - setPictureInPictureEnable:
 启用或禁用画中画功能
(void) - setPictureInPictureShowMode:
 为画中画功能设置显示模式
(void) - setPlayerScene:
 设置播放场景
(void) - setPlayUrlConvertCallback:
 设置转换播放的url的回调函数,一般用于p2p中的url地址转换
(void) - setPreferPlayerName:
 设置首选播放器内核
(void) - setStartTime:seekMode:
 设置起播位置
(void) - setStreamDelayTime:time:
 设置某路流相对于主时钟的延时时间,默认是0, 目前只支持外挂字幕
(void) - setStsSource:
 用vid和sts来播放视频,sts可参考:https://help.aliyun.com/document_detail/28756.html 通过阿里云视频ID和临时安全令牌进行身份验证和授权后播放。 适用于需要权限控制的视频播放场景。
(void) - setThumbnailUrl:
 设置缩略图URL
(void) - setTraceID:
 设置追踪ID
(void) - setUrlSource:
 使用url方式来播放视频 设置播放源为URL地址。支持HTTP、HTTPS等协议的直播和点播流。
(void) - setUserData:
 设置播放器实例的用户数据
(void) - setVerifyStsCallback:
 设置直播STS有效性监听回调
(void) - setVideoTag:size:
 设置视频标签。值范围[0,99]。
(void) - snapShot
 截取当前画面
(void) - start
 开始播放 在调用此方法前,必须先调用 prepare 方法准备。 状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 若播放器已处于播放状态,则此调用无效。
(void) - stop
 停止播放
(void) - switchStream:
 根据url进行多清晰度切换,选择成功与否的结果通过AVPDelegate onStreamSwitchedSuccess/onStreamSwitchedFail回调。 注意:
(void) - updateFilterConfig:options:
 更新滤镜配置
(void) - updateLiveStsInfo:accKey:token:region:
 更新LiveStsInfo

Class Methods

(NSString *) + getDeviceUUID
 获取设备UUID
(NSString *) + getSDKVersion
 获取SDK版本号信息
(BOOL) + isFeatureSupport:
 查询功能支持情况
(void) + netWorkReConnect
 重连所有网络连接,网络路由发生变化后,调用此接口,可以让播放器所有的连接切换到新的路由上去。
(void) + setAudioSessionDelegate:
 设置AudioSession委托
(void) + setEnableLog:
 启用或禁用日志输出
(void) + setLogCallbackInfo:callbackBlock:
 设置日志打印回调block,异步
(void) + setLogOption:value:
 设置日志选项

Properties

id< CicadaRenderDelegate > renderDelegate __deprecated
 设置渲染回调。废弃,使用renderingDelegate。
AVPAlphaRenderMode alphaRenderMode
 设置透明渲染模式,支持如直播礼物播放等场景。详细用法参考:doc
BOOL autoPlay
 设置是否自动播放,启用后,准备完成会自动开始播放,支持KVO
int64_t bufferedPosition
 已缓冲位置
int64_t currentDownloadSpeed
 当前网络下载速度
int64_t currentPosition
 当前播放位置
int64_t currentUtcTime
 获取当前播放位置的utc时间,支持KVO
id< AVPDelegatedelegate
 播放器代理
id< AVPDrmDelegatedrmDelegate
 DRM代理
int64_t duration
 播放时长
BOOL enableHardwareDecoder
 硬件解码启用状态
id< AVPEventReportParamsDelegateeventReportParamsDelegate
 设置埋点事件回调。
int height
 获取视频的高度,支持KVO
int64_t localCacheLoadedSize
 本地缓存命中大小
BOOL loop
 设置是否循环播放,支持KVO
AVPMirrorMode mirrorMode
 渲染镜像模式,支持KVO
BOOL muted
 初始化播放器组件
AVPOutputAudioChannel outputAudioChannel
 设置输出声道,若输入源是双声道,则支持切换为左声道、右声道;若输入源是单声道,则设置无效。该设置会同时影响音频渲染及PCM数据回调
AVPStatus playerStatus
 播放器状态
AVPView * playerView
 设置播放器的视图playerView AVPView: mac下为NSOpenGLView,iOS下为UIView
float rate
 播放速率,1为正常播放,支持KVO
id< CicadaRenderingDelegate > renderingDelegate
 视频渲染代理(新)
AVPRotateMode rotateMode
 渲染旋转模式,支持KVO
int rotation
 获取视频的旋转角度,从metadata中获取出来,支持KVO
AVPScalingMode scalingMode
 渲染填充模式,支持KVO
float volume
 获取/设置播放器的音量(非系统音量),支持KVO,范围0.0~2.0,当音量大于1.0时,可能出现噪音,不推荐使用。
int width
 获取视频的宽度,支持KVO

Method Documentation

◆ addExtSubtitle:

- (void) addExtSubtitle: (NSString *) URL

添加外挂字幕文件

添加外部字幕文件供播放器使用。支持SRT、ASS、VTT等多种字幕格式。 添加后可通过 selectExtSubtitle 选择显示。 用法参考外挂字幕

Parameters
URL字幕文件的URL地址,支持本地文件路径(file://)或网络地址(http://、https://)
See also
selectExtSubtitle
AVPDelegate::onSubtitleExtAdded

◆ clearScreen

- (void) clearScreen

清空画面。

◆ clearScreenSync

- (void) clearScreenSync

同步清空画面,建议使用clearScreen。

◆ destroy

- (void) destroy

销毁播放器(同步)

同步释放播放器占用的所有资源。调用此方法后,该播放器实例不再可用。 建议在不再需要播放时调用此方法。

Implemented in AliListPlayer.

◆ destroyAsync

- (void) destroyAsync

异步销毁播放器。当实例不再需要时,省去stop的调用并使用destroyAsync进行异步释放,可以加快页面响应速度,提高体验,释放后不要再调用prepare进行新的起播,否则调用效果不可预知。

Implemented in AliListPlayer.

◆ enableDowngrade:config:

- (void) enableDowngrade: (AVPUrlSource *) source
config: (AVPConfig *) config 

播放器降级设置, 适用于RTS自定义降级url设置,详细可以参考RTS自定义降级url设置

Parameters
source降级url
config降级配置

◆ getCacheFilePath:

- (NSString *) getCacheFilePath: (NSString *) URL

根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onGetCacheNameByURL

如果没有实现delegate,将会采用默认逻辑生成文件名。

Parameters
URLURL
Returns
最终缓存的文件名(不包括后缀。缓存文件的后缀名统一为.alv)。
Deprecated
从7.0.0版本开始,该方法已废弃。

◆ getCacheFilePath:format:definition:

- (NSString *) getCacheFilePath: (NSString *) vid
format: (NSString *) format
definition: (NSString *) definition 

根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onCacheNameByVidCallback

如果没有实现delegate,将会采用默认逻辑生成文件名。

Parameters
vid视频id
format视频格式
definition视频清晰度
Returns
最终缓存的文件名(不包括后缀。缓存文件的后缀名统一为.alv)。
Deprecated
从7.0.0版本开始,该方法已废弃。

◆ getCacheFilePath:format:definition:previewTime:

- (NSString *) getCacheFilePath: (NSString *) vid
format: (NSString *) format
definition: (NSString *) definition
previewTime: (int) previewTime 

根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onCacheNameByVidCallback

如果没有实现delegate,将会采用默认逻辑生成文件名。

Parameters
vid视频id
format视频格式
definition视频清晰度
previewTime试看时长
Returns
最终缓存的文件名(不包括后缀。缓存文件的后缀名统一为.alv)。

◆ getConfig

- (AVPConfig *) getConfig

获取播放器配置

获取当前播放器的所有配置参数。可用于在修改配置前先获取当前值,然后进行选择性修改。

Returns
AVPConfig实例,包含当前的所有配置参数
See also
AVPConfig
setConfig

◆ getCurrentTrack:

- (AVPTrackInfo *) getCurrentTrack: (AVPTrackType) type

获取当前播放track

Parameters
typetrack类型
See also
AVPTrackType

◆ getDeviceUUID

+ (NSString *) getDeviceUUID

获取设备UUID

获取当前设备的唯一标识符。可用于设备追踪和日志分析。

Returns
设备UUID字符串

◆ getMediaInfo

- (AVPMediaInfo *) getMediaInfo

获取媒体信息

获取当前播放媒体的详细信息,包括视频、音频、字幕等所有轨道(Track)的信息。 此方法仅在收到 AVPEventType::AVPEventPrepareDone 事件后调用才能正确获取。

Returns
AVPMediaInfo实例,包含完整的媒体信息;如果媒体信息尚未加载,则返回nil
See also
AVPMediaInfo
AVPTrackInfo
AVPEventType::AVPEventPrepareDone

◆ getOption:

- (NSString *) getOption: (AVPOption) key

获取播放器选项参数

查询播放器的实时性能指标,如当前渲染帧率、网络码率、视频码率等。

Parameters
key选项参数的关键字,指定要查询的参数类型
Returns
参数值的字符串表示,具体含义取决于参数类型(通常为数值)
See also
AVPOption

◆ getPlayedDuration

- (int64_t) getPlayedDuration

获取已播放时长

获取实际的播放时长,不受Seek操作影响。该时长不包括暂停、缓冲等非播放状态的时间。

可通过 setOption:valueInt: 设置 PLAYED_DURATION_INCLUDE_SPEED 选项控制播放时长是否考虑播放倍速的影响。

Returns
已播放时长,单位微秒
See also
- setOption:valueInt:
PLAYED_DURATION_INCLUDE_SPEED

◆ getPlayer

- (void *) getPlayer

◆ getPlayerName

- (NSString *) getPlayerName

获取播放时使用的播放器名字

◆ getPropertyString:

- (NSString *) getPropertyString: (AVPPropertyKey) key

获取播放器属性信息

根据指定的属性关键字获取播放器的相关属性信息,如HTTP响应信息、连接信息等。 这些属性通常用于调试、性能分析和问题诊断。

Parameters
key属性关键字,指定要查询的属性类型
Returns
属性信息字符串;如果属性不存在或未加载,返回空字符串
See also
AVPPropertyKey

◆ getSDKVersion

+ (NSString *) getSDKVersion

获取SDK版本号信息

Returns
播放器SDK的版本号字符串

◆ getSubMediaInfo

- (AVPMediaInfo *) getSubMediaInfo

获取子流媒体信息

获取多码率HLS流中子流(子m3u8)的媒体信息。 此方法适用于打包了多个清晰度的HLS直播或点播流。

Returns
AVPMediaInfo实例,包含当前子流的媒体信息
See also
AVPMediaInfo
AVPTrackInfo
AVPEventType::AVPEventPrepareDone

◆ getThumbnail:

- (void) getThumbnail: (int64_t) positionMs

获取指定位置的缩略图

异步获取指定播放位置的缩略图。获取结果通过 AVPDelegate::onGetThumbnailSucAVPDelegate::onGetThumbnailFailed 回调返回。

在调用此方法前,必须先调用 setThumbnailUrl 设置缩略图URL。

Parameters
positionMs指定位置,单位毫秒
See also
AVPDelegate::onGetThumbnailSuc
AVPDelegate::onGetThumbnailFailed
setThumbnailUrl

◆ getUserData

- (NSString *) getUserData

获取播放器实例的用户数据

获取之前通过 setUserData 设置的用户数据。每个播放器实例可绑定一个用户数据。

Returns
用户数据字符串;如未设置,返回nil或空字符串
See also
setUserData

◆ init

- (instancetype) init

初始化播放器

创建一个播放器实例。播放器需要通过此方法进行初始化, 初始化后方可进行后续的播放操作。

Implemented in AliListPlayer, and AliVRPlayer.

◆ init:

- (instancetype) init: (NSString *) traceID

初始化播放器并设置traceID

Parameters
traceID便于跟踪日志,设为"DisableAnalytics"可关闭日志分析系统(不推荐)。 推荐使用播放器单点追查功能,当使用阿里云播放器SDK播放视频发生异常时,可借助单点追查功能针对具体某个用户或某次播放会话的异常播放行为进行全链路追踪。 traceID值由您自行定义,需为您的用户或用户设备的唯一标识符,例如传入您业务的userid或者IMEI、IDFA等您业务用户的设备ID。

Implemented in AliListPlayer, and AliVRPlayer.

◆ invokeComponent:

- (int) invokeComponent: (NSString *) content

向播放器的组件发送命令。

Parameters
content命令内容。
Returns
命令执行结果, < 0 失败。

◆ isAutoBandWidth

- (BOOL) isAutoBandWidth

查询多码率自适应选择起播清晰度功能状态

Returns
YES表示自适应起播清晰度选择已启用,NO表示已禁用
See also
setAutoBandWidth

◆ isEnableSubtitleRender

- (BOOL) isEnableSubtitleRender

查询字幕渲染是否启用

Returns
YES表示字幕渲染已启用,NO表示已禁用
See also
setEnableSubtitleRender

◆ isFeatureSupport:

+ (BOOL) isFeatureSupport: (SupportFeatureType) type

查询功能支持情况

检查当前设备是否支持指定的功能,如杜比音频等。

Parameters
type功能类型
Returns
YES表示支持该功能,NO表示不支持
See also
SupportFeatureType

◆ netWorkReConnect

+ (void) netWorkReConnect

重连所有网络连接,网络路由发生变化后,调用此接口,可以让播放器所有的连接切换到新的路由上去。

Deprecated

◆ pause

- (void) pause

暂停播放 暂停当前的播放。状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 若播放器已处于暂停或停止状态,则此调用无效。 要恢复播放,请调用 start 方法。

See also
AVPDelegate::onPlayerStatusChanged
AVPStatus

◆ prepare

- (void) prepare

播放准备,异步 初始化媒体资源,建立网络连接,加载媒体信息。准备完成后通过 AVPEventType::AVPEventPrepareDone 事件通知,或通过 AVPDelegate::onPlayerStatusChanged 回调获取准备完成状态。 准备到准备完成的时间与AVPConfig::startBufferDuration有关

See also
AVPEventType::AVPEventPrepareDone
AVPDelegate::onPlayerStatusChanged
AVPConfig::startBufferDuration

◆ redraw

- (void) redraw

刷新view,例如view size变化时。

Deprecated
废弃

◆ reload

- (void) reload

重新加载。比如网络超时时,可以重新加载。

◆ reset

- (void) reset

重置播放

Deprecated
废弃

◆ seekToTime:seekMode:

- (void) seekToTime: (int64_t) time
seekMode: (AVPSeekMode) seekMode 

跳转到指定的播放位置

Parameters
time新的播放位置,单位毫秒
seekModeseek模式
See also
AVPSeekMode

◆ selectExtSubtitle:enable:

- (void) selectExtSubtitle: (int) trackIndex
enable: (BOOL) enable 

选择或关闭外挂字幕轨道

选择特定的外挂字幕轨道进行显示,或关闭字幕显示。 轨道索引通过 AVPMediaInfo 获取。

Parameters
trackIndex字幕轨道索引。通过 getMediaInfo 获取可用的字幕轨道列表和索引
enableYES表示选择并显示该字幕轨道,NO表示关闭字幕显示
See also
- selectExtSubtitle:enable:
AVPMediaInfo
AVPTrackInfo

◆ selectTrack:

- (void) selectTrack: (int) trackIndex

根据轨道索引切换视频清晰度。支持手动指定清晰度或开启自适应码率模式。

Parameters
trackIndex目标清晰度的轨道索引。使用SELECT_AVPTRACK_TYPE_VIDEO_AUTO表示开启自适应码率

◆ selectTrack:accurate:

- (void) selectTrack: (int) trackIndex
accurate: (BOOL) accurate 

根据轨道索引切换视频清晰度,支持精准跳转选项。

Parameters
trackIndex目标清晰度的轨道索引。使用SELECT_AVPTRACK_TYPE_VIDEO_AUTO表示开启自适应码率
accurate是否使用精准跳转模式进行切换。YES表示精准跳转,NO表示快速跳转

◆ sendCustomEvent:

- (void) sendCustomEvent: (NSString *) args

发送自定义埋点事件

向播放器的埋点系统发送自定义事件,该事件将通过 AVPEventReportParamsDelegate 回调传递给应用。用于将业务事件统一走播放器的埋点回调,便于业务数据统一收集和处理。

自定义事件编号为5001,args参数为事件的自定义数据,将被透传给回调。

Parameters
args自定义事件的参数数据,可为任意字符串
See also
AVPEventReportParamsDelegate

◆ setAudioSessionDelegate:

+ (void) setAudioSessionDelegate: (id< CicadaAudioSessionDelegate >) delegate

设置AudioSession委托

为iOS的AVAudioSession设置自定义委托,用于处理音频会话的相关事件和配置。

Parameters
delegateAudioSession委托对象

◆ setAuthSource:

- (void) setAuthSource: (AVPVidAuthSource *) source

使用vid+playauth方式播放。可参考:https://help.aliyun.com/document_detail/57294.html 通过阿里云视频ID和播放鉴权令牌进行身份验证后播放。 这是阿里云推荐的认证方式,可应用于大多数场景。

Parameters
sourceAVPVidAuthSource的输入类型
See also
AVPVidAuthSource

◆ setAutoBandWidth:

- (void) setAutoBandWidth: (BOOL) enable

设置多码率自适应选择起播清晰度

启用或禁用自适应码率(ABR)模式下的自动起播清晰度选择功能。 启用此功能后,播放器将根据网络状况自动选择合适的清晰度进行起播,无需手动指定。

Note
此功能仅影响起播时的清晰度选择,起播后不会动态调整清晰度
可通过 AVPConfig::maxAllowedAbrVideoPixelNumber 限制自适应选择的最大清晰度
Parameters
enableYES表示启用自适应起播清晰度选择,NO表示禁用(使用默认清晰度)
See also
- isAutoBandWidth
setDefaultResolution
AVPConfig::maxAllowedAbrVideoPixelNumber

◆ setBitStreamSource:

- (void) setBitStreamSource: (AVPBitStreamSource *) source

使用bitstream方式来播放视频

Parameters
sourceAVPBitStreamSource的输入类型
See also
AVPBitStreamSource

◆ setCacheConfig:

- (BOOL) setCacheConfig: (AVPCacheConfig *) cacheConfig

设置缓存配置

Parameters
AVPCacheConfig缓存配置。AVPCacheConfig
Returns
设置成功返回YES
Deprecated
从7.0.0版本开始,该接口已废弃。请使用 + enableLocalCache: (AliPlayerGlobalSettings) 替代。

◆ setConfig:

- (void) setConfig: (AVPConfig *) config

设置播放器配置

修改播放器的各项配置参数,如缓冲时长、自动播放、循环播放等。 建议在调用 prepare 前进行配置。

Parameters
configAVPConfig实例,包含所有可配置的播放器参数
See also
AVPConfig
- getConfig

◆ setDefaultBandWidth:

- (void) setDefaultBandWidth: (int) bandWidth

设置多码率播放时的默认起播码率

在多码率流播放时,播放器将选择与指定码率最接近的流进行起播。 如果设置了自适应码率模式,此设置可能被忽略。

Parameters
bandWidth默认起播码率,单位bps(比特每秒)
See also
setDefaultResolution
setAutoBandWidth

◆ setDefaultResolution:

- (void) setDefaultResolution: (int) resolutionProduct

设置多码率播放时的默认起播清晰度

通过分辨率像素数的乘积值指定默认起播清晰度。播放器将选择与此值最接近的清晰度进行起播。 例如1920×1080的分辨率,乘积为2,073,600。

Parameters
resolutionProduct目标分辨率的宽度和高度的乘积值。播放器选择最接近此值的清晰度
See also
setDefaultBandWidth
setAutoBandWidth
AVPPixelNumber

◆ setEnableLog:

+ (void) setEnableLog: (BOOL) enableLog

启用或禁用日志输出

全局控制播放器是否输出调试日志。启用后日志信息可通过回调或系统日志获取。

Parameters
enableLogYES表示启用日志输出,NO表示禁用日志输出
See also
setLogCallbackInfo

◆ setEnableSubtitleRender:

- (void) setEnableSubtitleRender: (BOOL) enable

是否关闭字幕渲染

Parameters
enabletrue:开启,false:关闭

◆ setEventReportParamsDelegate:

- (void) setEventReportParamsDelegate: (id< AVPEventReportParamsDelegate >) delegate

设置事件上报代理

设置事件上报参数的代理对象,用于接收播放器的埋点事件数据。 通过此代理可将业务事件统一走播放器的埋点回调,方便业务流程集成。

Parameters
delegate事件上报参数代理对象
See also
AVPEventReportParamsDelegate

◆ setFilterConfig:

- (void) setFilterConfig: (AVPFilterConfig *) filterConfig

设置滤镜配置

为播放器配置视频滤镜效果。滤镜配置在调用 prepare 前设置。 如需动态更新滤镜,使用 updateFilterConfig 方法。 滤镜仅在启用时生效,可通过 setFilterInvalid 临时禁用。

Parameters
filterConfig滤镜配置对象
See also
AVPFilterConfig
updateFilterConfig
setFilterInvalid

◆ setFilterInvalid:invalid:

- (void) setFilterInvalid: (NSString *) target
invalid: (BOOL) invalid 

启用或禁用滤镜

全局控制指定滤镜的启用/禁用状态。禁用滤镜后,其参数仍被保留,重新启用时将恢复之前的配置。

Parameters
target滤镜目标名称。如果为空字符串或nil,则操作作用于所有已配置的滤镜
invalidYES表示禁用滤镜(滤镜无效),NO表示启用滤镜(滤镜有效)
Note
参数名为invalid,语义为"是否使滤镜无效",需要注意逻辑反向
See also
setFilterConfig
updateFilterConfig

◆ setLiveStsSource:

- (void) setLiveStsSource: (AVPLiveStsSource *) source

使用LiveSts 方式播放直播流 通过临时安全令牌进行身份验证后播放加密直播流。 适用于需要权限控制和加密的直播场景。

Parameters
sourceAVPLiveStsSource的输入类型

◆ setLogCallbackInfo:callbackBlock:

+ (void) setLogCallbackInfo: (AVPLogLevel) logLevel
callbackBlock: (void(^)(AVPLogLevel logLevel, NSString *strLog)) block 

设置日志打印回调block,异步

Parameters
logLevellog输出级别
callbackBlocklog回调block,可以为nil
See also
AVPLogLevel

◆ setLogOption:value:

+ (void) setLogOption: (AVPLogOption) logOption
value: (int) value 

设置日志选项

配置日志系统的特定功能选项,如启用帧级日志记录等。

Parameters
logOption日志选项类型
value选项值。0表示关闭该选项,1表示打开该选项
See also
AVPLogOption

◆ setMaxAccurateSeekDelta:

- (void) setMaxAccurateSeekDelta: (int) delta

设置精确Seek的最大间隔

当精确Seek位置距离前面的关键帧距离超过此间隔时,播放器不再支持精确Seek, 转而采用快速Seek模式。这样可以避免极远距离精确Seek导致的长时间处理。

Parameters
delta间隔时长,单位毫秒。超过此距离的精确Seek将降级为快速Seek

◆ setMpsSource:

- (void) setMpsSource: (AVPVidMpsSource *) source

用vid和MPS信息来播放视频。可参考:https://help.aliyun.com/document_detail/53522.html

Parameters
sourceAVPVidMpsSource的输入类型
See also
AVPVidMpsSource
Deprecated
Please use setAuthSource instead.

◆ setOnURLSourceExpiredCallback:

- (void) setOnURLSourceExpiredCallback: (void(^)(id expiredSource, id< AVPSourceRefreshCallback > callback)) callback

设置 URL 源过期通知的回调。

当播放器检测到当前的 URL 源已失效时触发回调。 您可以在回调中通过刷新 URL 源并调用 callback 返回新的 URL 源,确保视频播放不中断。

Note
关于 URL 鉴权机制的配置,请参考阿里云官方文档: https://help.aliyun.com/zh/vod/user-guide/configure-url-signing?spm=a2c4g.11186623.0.0.560c4140fGh8MW
Parameters
callbackURL 源过期时触发的回调块。 您可以通过该回调返回有效的 URLSource 对象以更新播放器。

◆ setOnVidAuthExpiredCallback:

- (void) setOnVidAuthExpiredCallback: (void(^)(id expiredSource, id< AVPSourceRefreshCallback > callback)) callback

设置 VidAuth 源过期通知的回调。

当播放器检测到当前 VidAuth 源已过期时触发回调。VidAuth 源过期包含PlayAuth过期与播放地址过期。 您可以在回调中刷新 VidAuth 源,并通过 callback 提交新的 VidAuth 源对象,确保视频播放稳定流畅。

Parameters
callbackVidAuth 源过期时触发的回调块。 您可以通过该回调返回有效的 VidAuth 对象以更新播放器。

◆ setOption:value:

- (void) setOption: (PlayerOption) key
value: (NSString *) value 

设置播放器特定功能选项(字符串值)

为播放器设置特定功能的选项参数。某些选项接受字符串类型的值。

Parameters
key选项关键字,指定要设置的选项类型
value选项值的字符串表示
See also
PlayerOption

◆ setOption:valueInt:

- (void) setOption: (PlayerOption) key
valueInt: (int) value 

设置播放器特定功能选项(整数值)

为播放器设置特定功能的选项参数。某些选项接受整数类型的值。

Parameters
key选项关键字,指定要设置的选项类型
value选项值的整数表示
See also
PlayerOption

Implemented in AliListPlayer.

◆ setPictureinPictureDelegate:

- (void) setPictureinPictureDelegate: (id< AliPlayerPictureInPictureDelegate >) delegate

为画中画功能设置代理

设置画中画(Picture-in-Picture,PIP)功能的代理对象,用于处理PIP相关的事件和状态变化。

Parameters
delegate画中画功能的代理对象

◆ setPictureInPictureEnable:

- (void) setPictureInPictureEnable: (BOOL) enable

启用或禁用画中画功能

全局控制是否启用iOS系统的画中画功能。此功能需要iOS 15及以上系统支持。 对于低于iOS 15的系统,可通过 CicadaRenderingDelegate 获取像素缓冲数据自定义实现。

Parameters
enableYES表示启用画中画功能,NO表示禁用
See also
setPictureinPictureDelegate
CicadaRenderingDelegate

◆ setPictureInPictureShowMode:

- (void) setPictureInPictureShowMode: (AVPPIPShowMode) pipShowMode

为画中画功能设置显示模式

指定画中画模式下控制UI的显示方式。可选择显示所有按钮或隐藏特定按钮。

Parameters
pipShowMode画中画显示模式。默认为 AVP_SHOW_MODE_DEFAULT
See also
AVPPIPShowMode

◆ setPlayerScene:

- (void) setPlayerScene: (AVPScene) scene

设置播放场景

为播放器指定特定的播放场景(长视频、短视频、直播等),播放器将根据场景自动应用最优配置。 无需手动调整各个配置参数,提高开发效率。

Parameters
scene播放场景类型
See also
AVPScene

◆ setPlayUrlConvertCallback:

- (void) setPlayUrlConvertCallback: (PlayURLConverCallback) callback

设置转换播放的url的回调函数,一般用于p2p中的url地址转换

Parameters
callback回调函数指针

◆ setPreferPlayerName:

- (void) setPreferPlayerName: (NSString *) name

设置首选播放器内核

指定播放器使用的内核类型,可选择自研内核或系统内核。此设置需在调用 prepare 前进行,以使设置生效。

Parameters
name播放器内核名称。默认为空字符串(使用自研内核)。 "AppleAVPlayer"表示使用iOS系统播放器
See also
- prepare

◆ setStartTime:seekMode:

- (void) setStartTime: (int64_t) time
seekMode: (AVPSeekMode) seekMode 

设置起播位置

指定播放开始时的位置。此方法仅在每次 prepare 前调用有效,每次准备仅生效一次。 用于替代传统的起播前seek方案。

Parameters
time起播位置,单位毫秒
seekModeSeek模式,指定精确或快速定位方式
See also
AVPSeekMode

◆ setStreamDelayTime:time:

- (void) setStreamDelayTime: (int) index
time: (int) time 

设置某路流相对于主时钟的延时时间,默认是0, 目前只支持外挂字幕

Parameters
index流的索引
time延时,单位毫秒
Deprecated

◆ setStsSource:

- (void) setStsSource: (AVPVidStsSource *) source

用vid和sts来播放视频,sts可参考:https://help.aliyun.com/document_detail/28756.html 通过阿里云视频ID和临时安全令牌进行身份验证和授权后播放。 适用于需要权限控制的视频播放场景。

Parameters
sourceAVPVidStsSource的输入类型
See also
AVPVidStsSource

◆ setThumbnailUrl:

- (void) setThumbnailUrl: (NSString *) URL

设置缩略图URL

指定缩略图图片的URL地址。在调用 getThumbnail 前必须先设置缩略图URL。 缩略图可以由阿里云控制台配置生成。

Parameters
URL缩略图服务的URL地址
See also
getThumbnail

◆ setTraceID:

- (void) setTraceID: (NSString *) traceID

设置追踪ID

为播放器实例设置用于日志追踪和问题诊断的唯一标识符。 推荐使用播放器单点追查功能进行问题诊断和性能分析。 traceID应为用户或设备的唯一标识,例如userid、IMEI或IDFA等。

Parameters
traceID用于日志追踪的唯一标识符

◆ setUrlSource:

- (void) setUrlSource: (AVPUrlSource *) source

使用url方式来播放视频 设置播放源为URL地址。支持HTTP、HTTPS等协议的直播和点播流。

Parameters
sourceAVPUrlSource的输入类型
See also
AVPUrlSource

◆ setUserData:

- (void) setUserData: (NSString *) userData

设置播放器实例的用户数据

为该播放器实例绑定自定义用户数据。在多实例场景下,可用于区分不同的播放器实例。 用户数据可通过 getUserData 方法获取。

Parameters
userData用户自定义数据字符串。可为任意业务相关数据,如用户ID、视频ID等
See also
- getUserData

◆ setVerifyStsCallback:

- (void) setVerifyStsCallback: (AVPStsStatus(^)(AVPStsInfo info)) callback

设置直播STS有效性监听回调

在加密直播播放过程中,当加密密钥需要更新时,播放器会通过此回调验证当前STS凭证是否有效。 开发者需要监听此回调并返回STS状态。如果STS无效,需要通过 updateLiveStsInfo 更新最新的STS凭证。

Parameters
callbackSTS有效性检查回调。回调参数为当前STS信息,返回值为STS状态
See also
updateLiveStsInfo
AVPStsInfo
AVPStsStatus

◆ setVideoTag:size:

- (void) setVideoTag: (int *) tags
size: (int) size 

设置视频标签。值范围[0,99]。

Deprecated

◆ snapShot

- (void) snapShot

截取当前画面

异步捕获当前播放帧的图像。截图结果通过 AVPDelegate::onCaptureScreen 回调返回。

See also
AVPDelegate::onCaptureScreen

◆ start

- (void) start

开始播放 在调用此方法前,必须先调用 prepare 方法准备。 状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 若播放器已处于播放状态,则此调用无效。

See also
AVPDelegate::onPlayerStatusChanged
AVPStatus

Implemented in AVPLiveTimeShift.

◆ stop

- (void) stop

停止播放

停止当前的播放。状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 停止后播放器资源不会自动释放,需要调用 destroydestroyAsync 方法。

See also
AVPDelegate::onPlayerStatusChanged
AVPStatus
- destroy
- destroyAsync

Implemented in AliListPlayer, and AVPLiveTimeShift.

◆ switchStream:

- (void) switchStream: (NSString *) URL

根据url进行多清晰度切换,选择成功与否的结果通过AVPDelegate onStreamSwitchedSuccess/onStreamSwitchedFail回调。 注意:

  1. 必须是阿里云的直播地址。
  2. 必须是直播流的不同清晰度。
  3. 切换到无关流地址可能会失败。
    Parameters
    url新流的url地址

◆ updateFilterConfig:options:

- (void) updateFilterConfig: (NSString *) target
options: (AVPFilterOptions *) options 

更新滤镜配置

动态更新已配置的滤镜的参数。此方法可在播放过程中调用,无需重新准备。

Parameters
target滤镜目标,指定要更新的滤镜名称
options滤镜选项参数,包含新的滤镜配置值
See also
AVPFilterOptions
setFilterConfig

◆ updateLiveStsInfo:accKey:token:region:

- (void) updateLiveStsInfo: (NSString *) accId
accKey: (NSString *) accKey
token: (NSString *) token
region: (NSString *) region 

更新LiveStsInfo

Parameters
accId鉴权id
accKey鉴权秘钥
token安全token
region地域

Property Documentation

◆ __deprecated

- (id<CicadaRenderDelegate> renderDelegate) __deprecated
readwritenonatomicweak

设置渲染回调。废弃,使用renderingDelegate。

Deprecated

◆ alphaRenderMode

- (AVPAlphaRenderMode) alphaRenderMode
readwritenonatomicassign

设置透明渲染模式,支持如直播礼物播放等场景。详细用法参考:doc

See also
AVPAlphaRenderMode 默认值AVPAlphaRenderMode.AVP_RENDERMODE_ALPHA_NONE

◆ autoPlay

- (BOOL) autoPlay
readwritenonatomicassign

设置是否自动播放,启用后,准备完成会自动开始播放,支持KVO

◆ bufferedPosition

- (int64_t) bufferedPosition
readnonatomicassign

已缓冲位置

只读属性,获取当前已缓冲到的播放位置(单位:毫秒)。支持KVO观察变化。 缓冲位置用于显示缓冲进度条,总是大于等于当前播放位置。

See also
AVPDelegate::onBufferedPositionUpdate

◆ currentDownloadSpeed

- (int64_t) currentDownloadSpeed
readnonatomicassign

当前网络下载速度

只读属性,获取当前的网络下载速度(单位:比特每秒,bps)。支持KVO观察变化。 下载速度会在播放过程中实时更新,可用于显示网络速度信息。

See also
AVPDelegate::onCurrentDownloadSpeed

◆ currentPosition

- (int64_t) currentPosition
readnonatomicassign

当前播放位置

只读属性,获取当前播放位置(单位:毫秒)。支持KVO观察变化。 位置会在播放过程中实时更新,也可以由 AVPDelegate::onCurrentPositionUpdate 获取

See also
AVPDelegate::onCurrentPositionUpdate

◆ currentUtcTime

- (int64_t) currentUtcTime
readnonatomicassign

获取当前播放位置的utc时间,支持KVO

◆ delegate

- (id<AVPDelegate>) delegate
readwritenonatomicweak

播放器代理

设置或查询播放器的代理对象。代理用于接收播放器的各类事件回调,如准备完成、错误、轨道信息等。 使用弱引用(weak),避免循环引用。

See also
AVPDelegate

◆ drmDelegate

- (id<AVPDrmDelegate>) drmDelegate
readwritenonatomicweak

DRM代理

设置或查询DRM(数字版权管理)相关请求的代理对象。 此代理仅在通过URL播放时触发,VidAuth和VidSts方式不会触发。 目前仅支持Fairplay DRM。使用弱引用(weak)避免循环引用。

See also
AVPDrmDelegate

◆ duration

- (int64_t) duration
readnonatomicassign

播放时长

只读属性,获取当前播放媒体的总时长(单位:毫秒)。支持KVO观察变化。 媒体信息加载完成后此值才有效。

◆ enableHardwareDecoder

- (BOOL) enableHardwareDecoder
readwritenonatomicassign

硬件解码启用状态

启用或禁用硬件视频解码。硬件解码可提高解码效率,但在某些情况下可能不支持特定编码格式。 若硬件解码失败,播放器会自动降级到软件解码。设置了自适应降级回调 (AliPlayerGlobalSettings::setAdaptiveDecoderGetBackupURLCallback) 后, 可进一步降级到不同编码的视频流(如H.265降级到H.264)。

Note
默认启用硬件解码

◆ eventReportParamsDelegate

- (id<AVPEventReportParamsDelegate>) eventReportParamsDelegate
readwritenonatomicweak

设置埋点事件回调。

See also
AVPEventReportParamsDelegate

◆ height

- (int) height
readnonatomicassign

获取视频的高度,支持KVO

◆ localCacheLoadedSize

- (int64_t) localCacheLoadedSize
readnonatomicassign

本地缓存命中大小

只读属性,获取起播时命中的本地缓存文件大小(单位:字节)。 值大于0表示命中了本地缓存,使用缓存文件进行播放。支持KVO观察变化。

See also
AVPDelegate::onLocalCacheLoaded

◆ loop

- (BOOL) loop
readwritenonatomicassign

设置是否循环播放,支持KVO

◆ mirrorMode

- (AVPMirrorMode) mirrorMode
readwritenonatomicassign

渲染镜像模式,支持KVO

See also
AVPMirrorMode

◆ muted

- (BOOL) muted
readwritenonatomicassign

初始化播放器组件

初始化可选的播放器组件。这些组件是可裁剪的,App可删除相应动态库并移除此初始化代码来实现功能裁剪。

Parameters
functionName组件功能名称
function组件初始化函数指针

设置是否静音,支持KVO

◆ outputAudioChannel

- (AVPOutputAudioChannel) outputAudioChannel
readwritenonatomicassign

设置输出声道,若输入源是双声道,则支持切换为左声道、右声道;若输入源是单声道,则设置无效。该设置会同时影响音频渲染及PCM数据回调

See also
AVPOutputAudioChannel

◆ playerStatus

- (AVPStatus) playerStatus
readnonatomicassign

播放器状态

只读属性,获取播放器的当前状态。支持KVO观察变化。 状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。

See also
AVPStatus
AVPDelegate::onPlayerStatusChanged

◆ playerView

- (AVPView*) playerView
readwritenonatomicstrong

设置播放器的视图playerView AVPView: mac下为NSOpenGLView,iOS下为UIView

◆ rate

- (float) rate
readwritenonatomicassign

播放速率,1为正常播放,支持KVO

◆ renderingDelegate

- (id<CicadaRenderingDelegate>) renderingDelegate
readwritenonatomicweak

视频渲染代理(新)

设置或查询视频渲染的代理对象。用于处理视频帧渲染的相关事件。 使用弱引用(weak)避免循环引用。

See also
CicadaRenderingDelegate

◆ rotateMode

- (AVPRotateMode) rotateMode
readwritenonatomicassign

渲染旋转模式,支持KVO

See also
AVPRotateMode

◆ rotation

- (int) rotation
readnonatomicassign

获取视频的旋转角度,从metadata中获取出来,支持KVO

◆ scalingMode

- (AVPScalingMode) scalingMode
readwritenonatomicassign

渲染填充模式,支持KVO

See also
AVPScalingMode

◆ volume

- (float) volume
readwritenonatomicassign

获取/设置播放器的音量(非系统音量),支持KVO,范围0.0~2.0,当音量大于1.0时,可能出现噪音,不推荐使用。

◆ width

- (int) width
readnonatomicassign

获取视频的宽度,支持KVO


The documentation for this class was generated from the following file: