![]() |
AliyunPlayer v7.10.0
Aliyun Player API Reference Manual for iOS Platforms
|
#include "AliPlayer.h"
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< AVPDelegate > | delegate |
| 播放器代理 | |
| id< AVPDrmDelegate > | drmDelegate |
| DRM代理 | |
| int64_t | duration |
| 播放时长 | |
| BOOL | enableHardwareDecoder |
| 硬件解码启用状态 | |
| id< AVPEventReportParamsDelegate > | eventReportParamsDelegate |
| 设置埋点事件回调。 | |
| 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 | |
| - (void) addExtSubtitle: | (NSString *) | URL |
添加外挂字幕文件
添加外部字幕文件供播放器使用。支持SRT、ASS、VTT等多种字幕格式。 添加后可通过 selectExtSubtitle 选择显示。 用法参考外挂字幕
| URL | 字幕文件的URL地址,支持本地文件路径(file://)或网络地址(http://、https://) |
| - (void) clearScreen |
清空画面。
| - (void) clearScreenSync |
同步清空画面,建议使用clearScreen。
| - (void) destroy |
| - (void) destroyAsync |
异步销毁播放器。当实例不再需要时,省去stop的调用并使用destroyAsync进行异步释放,可以加快页面响应速度,提高体验,释放后不要再调用prepare进行新的起播,否则调用效果不可预知。
Implemented in AliListPlayer.
| - (void) enableDowngrade: | (AVPUrlSource *) | source | |
| config: | (AVPConfig *) | config |
播放器降级设置, 适用于RTS自定义降级url设置,详细可以参考RTS自定义降级url设置
| source | 降级url |
| config | 降级配置 |
| - (NSString *) getCacheFilePath: | (NSString *) | URL |
根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onGetCacheNameByURL。
如果没有实现delegate,将会采用默认逻辑生成文件名。
| URL | URL |
| - (NSString *) getCacheFilePath: | (NSString *) | vid | |
| format: | (NSString *) | format | |
| definition: | (NSString *) | definition |
根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onCacheNameByVidCallback。
如果没有实现delegate,将会采用默认逻辑生成文件名。
| vid | 视频id |
| format | 视频格式 |
| definition | 视频清晰度 |
| - (NSString *) getCacheFilePath: | (NSString *) | vid | |
| format: | (NSString *) | format | |
| definition: | (NSString *) | definition | |
| previewTime: | (int) | previewTime |
根据url获取缓存的文件名。如果有自定义的规则,请实现delegate onCacheNameByVidCallback。
如果没有实现delegate,将会采用默认逻辑生成文件名。
| vid | 视频id |
| format | 视频格式 |
| definition | 视频清晰度 |
| previewTime | 试看时长 |
| - (AVPConfig *) getConfig |
获取播放器配置
获取当前播放器的所有配置参数。可用于在修改配置前先获取当前值,然后进行选择性修改。
| - (AVPTrackInfo *) getCurrentTrack: | (AVPTrackType) | type |
| + (NSString *) getDeviceUUID |
获取设备UUID
获取当前设备的唯一标识符。可用于设备追踪和日志分析。
| - (AVPMediaInfo *) getMediaInfo |
获取媒体信息
获取当前播放媒体的详细信息,包括视频、音频、字幕等所有轨道(Track)的信息。 此方法仅在收到 AVPEventType::AVPEventPrepareDone 事件后调用才能正确获取。
| - (NSString *) getOption: | (AVPOption) | key |
获取播放器选项参数
查询播放器的实时性能指标,如当前渲染帧率、网络码率、视频码率等。
| key | 选项参数的关键字,指定要查询的参数类型 |
| - (int64_t) getPlayedDuration |
获取已播放时长
获取实际的播放时长,不受Seek操作影响。该时长不包括暂停、缓冲等非播放状态的时间。
可通过 setOption:valueInt: 设置 PLAYED_DURATION_INCLUDE_SPEED 选项控制播放时长是否考虑播放倍速的影响。
| - (void *) getPlayer |
| - (NSString *) getPlayerName |
获取播放时使用的播放器名字
| - (NSString *) getPropertyString: | (AVPPropertyKey) | key |
获取播放器属性信息
根据指定的属性关键字获取播放器的相关属性信息,如HTTP响应信息、连接信息等。 这些属性通常用于调试、性能分析和问题诊断。
| key | 属性关键字,指定要查询的属性类型 |
| + (NSString *) getSDKVersion |
获取SDK版本号信息
| - (AVPMediaInfo *) getSubMediaInfo |
获取子流媒体信息
获取多码率HLS流中子流(子m3u8)的媒体信息。 此方法适用于打包了多个清晰度的HLS直播或点播流。
| - (void) getThumbnail: | (int64_t) | positionMs |
获取指定位置的缩略图
异步获取指定播放位置的缩略图。获取结果通过 AVPDelegate::onGetThumbnailSuc 和 AVPDelegate::onGetThumbnailFailed 回调返回。
在调用此方法前,必须先调用 setThumbnailUrl 设置缩略图URL。
| positionMs | 指定位置,单位毫秒 |
| - (NSString *) getUserData |
获取播放器实例的用户数据
获取之前通过 setUserData 设置的用户数据。每个播放器实例可绑定一个用户数据。
| - (instancetype) init |
| - (instancetype) init: | (NSString *) | traceID |
初始化播放器并设置traceID
| traceID | 便于跟踪日志,设为"DisableAnalytics"可关闭日志分析系统(不推荐)。 推荐使用播放器单点追查功能,当使用阿里云播放器SDK播放视频发生异常时,可借助单点追查功能针对具体某个用户或某次播放会话的异常播放行为进行全链路追踪。 traceID值由您自行定义,需为您的用户或用户设备的唯一标识符,例如传入您业务的userid或者IMEI、IDFA等您业务用户的设备ID。 |
Implemented in AliListPlayer, and AliVRPlayer.
| - (int) invokeComponent: | (NSString *) | content |
向播放器的组件发送命令。
| content | 命令内容。 |
| - (BOOL) isAutoBandWidth |
查询多码率自适应选择起播清晰度功能状态
| - (BOOL) isEnableSubtitleRender |
查询字幕渲染是否启用
| + (BOOL) isFeatureSupport: | (SupportFeatureType) | type |
查询功能支持情况
检查当前设备是否支持指定的功能,如杜比音频等。
| type | 功能类型 |
| + (void) netWorkReConnect |
重连所有网络连接,网络路由发生变化后,调用此接口,可以让播放器所有的连接切换到新的路由上去。
| - (void) pause |
暂停播放 暂停当前的播放。状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 若播放器已处于暂停或停止状态,则此调用无效。 要恢复播放,请调用 start 方法。
| - (void) prepare |
播放准备,异步 初始化媒体资源,建立网络连接,加载媒体信息。准备完成后通过 AVPEventType::AVPEventPrepareDone 事件通知,或通过 AVPDelegate::onPlayerStatusChanged 回调获取准备完成状态。 准备到准备完成的时间与AVPConfig::startBufferDuration有关
| - (void) redraw |
刷新view,例如view size变化时。
| - (void) reload |
重新加载。比如网络超时时,可以重新加载。
| - (void) reset |
重置播放
| - (void) seekToTime: | (int64_t) | time | |
| seekMode: | (AVPSeekMode) | seekMode |
| - (void) selectExtSubtitle: | (int) | trackIndex | |
| enable: | (BOOL) | enable |
选择或关闭外挂字幕轨道
选择特定的外挂字幕轨道进行显示,或关闭字幕显示。 轨道索引通过 AVPMediaInfo 获取。
| trackIndex | 字幕轨道索引。通过 getMediaInfo 获取可用的字幕轨道列表和索引 |
| enable | YES表示选择并显示该字幕轨道,NO表示关闭字幕显示 |
| - (void) selectTrack: | (int) | trackIndex |
根据轨道索引切换视频清晰度。支持手动指定清晰度或开启自适应码率模式。
| trackIndex | 目标清晰度的轨道索引。使用SELECT_AVPTRACK_TYPE_VIDEO_AUTO表示开启自适应码率 |
| - (void) selectTrack: | (int) | trackIndex | |
| accurate: | (BOOL) | accurate |
根据轨道索引切换视频清晰度,支持精准跳转选项。
| trackIndex | 目标清晰度的轨道索引。使用SELECT_AVPTRACK_TYPE_VIDEO_AUTO表示开启自适应码率 |
| accurate | 是否使用精准跳转模式进行切换。YES表示精准跳转,NO表示快速跳转 |
| - (void) sendCustomEvent: | (NSString *) | args |
发送自定义埋点事件
向播放器的埋点系统发送自定义事件,该事件将通过 AVPEventReportParamsDelegate 回调传递给应用。用于将业务事件统一走播放器的埋点回调,便于业务数据统一收集和处理。
自定义事件编号为5001,args参数为事件的自定义数据,将被透传给回调。
| args | 自定义事件的参数数据,可为任意字符串 |
| + (void) setAudioSessionDelegate: | (id< CicadaAudioSessionDelegate >) | delegate |
设置AudioSession委托
为iOS的AVAudioSession设置自定义委托,用于处理音频会话的相关事件和配置。
| delegate | AudioSession委托对象 |
| - (void) setAuthSource: | (AVPVidAuthSource *) | source |
使用vid+playauth方式播放。可参考:https://help.aliyun.com/document_detail/57294.html 通过阿里云视频ID和播放鉴权令牌进行身份验证后播放。 这是阿里云推荐的认证方式,可应用于大多数场景。
| source | AVPVidAuthSource的输入类型 |
| - (void) setAutoBandWidth: | (BOOL) | enable |
设置多码率自适应选择起播清晰度
启用或禁用自适应码率(ABR)模式下的自动起播清晰度选择功能。 启用此功能后,播放器将根据网络状况自动选择合适的清晰度进行起播,无需手动指定。
| enable | YES表示启用自适应起播清晰度选择,NO表示禁用(使用默认清晰度) |
| - (void) setBitStreamSource: | (AVPBitStreamSource *) | source |
| - (BOOL) setCacheConfig: | (AVPCacheConfig *) | cacheConfig |
设置缓存配置
| AVPCacheConfig | 缓存配置。AVPCacheConfig。 |
| - (void) setConfig: | (AVPConfig *) | config |
设置播放器配置
修改播放器的各项配置参数,如缓冲时长、自动播放、循环播放等。 建议在调用 prepare 前进行配置。
| config | AVPConfig实例,包含所有可配置的播放器参数 |
| - (void) setDefaultBandWidth: | (int) | bandWidth |
设置多码率播放时的默认起播码率
在多码率流播放时,播放器将选择与指定码率最接近的流进行起播。 如果设置了自适应码率模式,此设置可能被忽略。
| bandWidth | 默认起播码率,单位bps(比特每秒) |
| - (void) setDefaultResolution: | (int) | resolutionProduct |
设置多码率播放时的默认起播清晰度
通过分辨率像素数的乘积值指定默认起播清晰度。播放器将选择与此值最接近的清晰度进行起播。 例如1920×1080的分辨率,乘积为2,073,600。
| resolutionProduct | 目标分辨率的宽度和高度的乘积值。播放器选择最接近此值的清晰度 |
| + (void) setEnableLog: | (BOOL) | enableLog |
启用或禁用日志输出
全局控制播放器是否输出调试日志。启用后日志信息可通过回调或系统日志获取。
| enableLog | YES表示启用日志输出,NO表示禁用日志输出 |
| - (void) setEnableSubtitleRender: | (BOOL) | enable |
是否关闭字幕渲染
| enable | true:开启,false:关闭 |
| - (void) setEventReportParamsDelegate: | (id< AVPEventReportParamsDelegate >) | delegate |
设置事件上报代理
设置事件上报参数的代理对象,用于接收播放器的埋点事件数据。 通过此代理可将业务事件统一走播放器的埋点回调,方便业务流程集成。
| delegate | 事件上报参数代理对象 |
| - (void) setFilterConfig: | (AVPFilterConfig *) | filterConfig |
设置滤镜配置
为播放器配置视频滤镜效果。滤镜配置在调用 prepare 前设置。 如需动态更新滤镜,使用 updateFilterConfig 方法。 滤镜仅在启用时生效,可通过 setFilterInvalid 临时禁用。
| filterConfig | 滤镜配置对象 |
| - (void) setFilterInvalid: | (NSString *) | target | |
| invalid: | (BOOL) | invalid |
启用或禁用滤镜
全局控制指定滤镜的启用/禁用状态。禁用滤镜后,其参数仍被保留,重新启用时将恢复之前的配置。
| target | 滤镜目标名称。如果为空字符串或nil,则操作作用于所有已配置的滤镜 |
| invalid | YES表示禁用滤镜(滤镜无效),NO表示启用滤镜(滤镜有效) |
| - (void) setLiveStsSource: | (AVPLiveStsSource *) | source |
使用LiveSts 方式播放直播流 通过临时安全令牌进行身份验证后播放加密直播流。 适用于需要权限控制和加密的直播场景。
| source | AVPLiveStsSource的输入类型 |
| + (void) setLogCallbackInfo: | (AVPLogLevel) | logLevel | |
| callbackBlock: | (void(^)(AVPLogLevel logLevel, NSString *strLog)) | block |
| + (void) setLogOption: | (AVPLogOption) | logOption | |
| value: | (int) | value |
设置日志选项
配置日志系统的特定功能选项,如启用帧级日志记录等。
| logOption | 日志选项类型 |
| value | 选项值。0表示关闭该选项,1表示打开该选项 |
| - (void) setMaxAccurateSeekDelta: | (int) | delta |
设置精确Seek的最大间隔
当精确Seek位置距离前面的关键帧距离超过此间隔时,播放器不再支持精确Seek, 转而采用快速Seek模式。这样可以避免极远距离精确Seek导致的长时间处理。
| delta | 间隔时长,单位毫秒。超过此距离的精确Seek将降级为快速Seek |
| - (void) setMpsSource: | (AVPVidMpsSource *) | source |
用vid和MPS信息来播放视频。可参考:https://help.aliyun.com/document_detail/53522.html
| source | AVPVidMpsSource的输入类型 |
setAuthSource instead. | - (void) setOnURLSourceExpiredCallback: | (void(^)(id expiredSource, id< AVPSourceRefreshCallback > callback)) | callback |
设置 URL 源过期通知的回调。
当播放器检测到当前的 URL 源已失效时触发回调。 您可以在回调中通过刷新 URL 源并调用 callback 返回新的 URL 源,确保视频播放不中断。
| callback | URL 源过期时触发的回调块。 您可以通过该回调返回有效的 URLSource 对象以更新播放器。 |
| - (void) setOnVidAuthExpiredCallback: | (void(^)(id expiredSource, id< AVPSourceRefreshCallback > callback)) | callback |
设置 VidAuth 源过期通知的回调。
当播放器检测到当前 VidAuth 源已过期时触发回调。VidAuth 源过期包含PlayAuth过期与播放地址过期。 您可以在回调中刷新 VidAuth 源,并通过 callback 提交新的 VidAuth 源对象,确保视频播放稳定流畅。
| callback | VidAuth 源过期时触发的回调块。 您可以通过该回调返回有效的 VidAuth 对象以更新播放器。 |
| - (void) setOption: | (PlayerOption) | key | |
| value: | (NSString *) | value |
设置播放器特定功能选项(字符串值)
为播放器设置特定功能的选项参数。某些选项接受字符串类型的值。
| key | 选项关键字,指定要设置的选项类型 |
| value | 选项值的字符串表示 |
| - (void) setOption: | (PlayerOption) | key | |
| valueInt: | (int) | value |
设置播放器特定功能选项(整数值)
为播放器设置特定功能的选项参数。某些选项接受整数类型的值。
| key | 选项关键字,指定要设置的选项类型 |
| value | 选项值的整数表示 |
Implemented in AliListPlayer.
| - (void) setPictureinPictureDelegate: | (id< AliPlayerPictureInPictureDelegate >) | delegate |
为画中画功能设置代理
设置画中画(Picture-in-Picture,PIP)功能的代理对象,用于处理PIP相关的事件和状态变化。
| delegate | 画中画功能的代理对象 |
| - (void) setPictureInPictureEnable: | (BOOL) | enable |
启用或禁用画中画功能
全局控制是否启用iOS系统的画中画功能。此功能需要iOS 15及以上系统支持。 对于低于iOS 15的系统,可通过 CicadaRenderingDelegate 获取像素缓冲数据自定义实现。
| enable | YES表示启用画中画功能,NO表示禁用 |
| - (void) setPictureInPictureShowMode: | (AVPPIPShowMode) | pipShowMode |
为画中画功能设置显示模式
指定画中画模式下控制UI的显示方式。可选择显示所有按钮或隐藏特定按钮。
| pipShowMode | 画中画显示模式。默认为 AVP_SHOW_MODE_DEFAULT |
| - (void) setPlayerScene: | (AVPScene) | scene |
设置播放场景
为播放器指定特定的播放场景(长视频、短视频、直播等),播放器将根据场景自动应用最优配置。 无需手动调整各个配置参数,提高开发效率。
| scene | 播放场景类型 |
| - (void) setPlayUrlConvertCallback: | (PlayURLConverCallback) | callback |
设置转换播放的url的回调函数,一般用于p2p中的url地址转换
| callback | 回调函数指针 |
| - (void) setPreferPlayerName: | (NSString *) | name |
| - (void) setStartTime: | (int64_t) | time | |
| seekMode: | (AVPSeekMode) | seekMode |
设置起播位置
指定播放开始时的位置。此方法仅在每次 prepare 前调用有效,每次准备仅生效一次。 用于替代传统的起播前seek方案。
| time | 起播位置,单位毫秒 |
| seekMode | Seek模式,指定精确或快速定位方式 |
| - (void) setStreamDelayTime: | (int) | index | |
| time: | (int) | time |
| - (void) setStsSource: | (AVPVidStsSource *) | source |
用vid和sts来播放视频,sts可参考:https://help.aliyun.com/document_detail/28756.html 通过阿里云视频ID和临时安全令牌进行身份验证和授权后播放。 适用于需要权限控制的视频播放场景。
| source | AVPVidStsSource的输入类型 |
| - (void) setThumbnailUrl: | (NSString *) | URL |
设置缩略图URL
指定缩略图图片的URL地址。在调用 getThumbnail 前必须先设置缩略图URL。 缩略图可以由阿里云控制台配置生成。
| URL | 缩略图服务的URL地址 |
| - (void) setTraceID: | (NSString *) | traceID |
设置追踪ID
为播放器实例设置用于日志追踪和问题诊断的唯一标识符。 推荐使用播放器单点追查功能进行问题诊断和性能分析。 traceID应为用户或设备的唯一标识,例如userid、IMEI或IDFA等。
| traceID | 用于日志追踪的唯一标识符 |
| - (void) setUrlSource: | (AVPUrlSource *) | source |
使用url方式来播放视频 设置播放源为URL地址。支持HTTP、HTTPS等协议的直播和点播流。
| source | AVPUrlSource的输入类型 |
| - (void) setUserData: | (NSString *) | userData |
设置播放器实例的用户数据
为该播放器实例绑定自定义用户数据。在多实例场景下,可用于区分不同的播放器实例。 用户数据可通过 getUserData 方法获取。
| userData | 用户自定义数据字符串。可为任意业务相关数据,如用户ID、视频ID等 |
| - (void) setVerifyStsCallback: | (AVPStsStatus(^)(AVPStsInfo info)) | callback |
设置直播STS有效性监听回调
在加密直播播放过程中,当加密密钥需要更新时,播放器会通过此回调验证当前STS凭证是否有效。 开发者需要监听此回调并返回STS状态。如果STS无效,需要通过 updateLiveStsInfo 更新最新的STS凭证。
| callback | STS有效性检查回调。回调参数为当前STS信息,返回值为STS状态 |
| - (void) setVideoTag: | (int *) | tags | |
| size: | (int) | size |
设置视频标签。值范围[0,99]。
| - (void) snapShot |
| - (void) start |
开始播放 在调用此方法前,必须先调用 prepare 方法准备。 状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 若播放器已处于播放状态,则此调用无效。
Implemented in AVPLiveTimeShift.
| - (void) stop |
停止播放
停止当前的播放。状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。 停止后播放器资源不会自动释放,需要调用 destroy 或 destroyAsync 方法。
Implemented in AliListPlayer, and AVPLiveTimeShift.
| - (void) switchStream: | (NSString *) | URL |
根据url进行多清晰度切换,选择成功与否的结果通过AVPDelegate onStreamSwitchedSuccess/onStreamSwitchedFail回调。 注意:
| url | 新流的url地址 |
| - (void) updateFilterConfig: | (NSString *) | target | |
| options: | (AVPFilterOptions *) | options |
更新滤镜配置
动态更新已配置的滤镜的参数。此方法可在播放过程中调用,无需重新准备。
| target | 滤镜目标,指定要更新的滤镜名称 |
| options | 滤镜选项参数,包含新的滤镜配置值 |
| - (void) updateLiveStsInfo: | (NSString *) | accId | |
| accKey: | (NSString *) | accKey | |
| token: | (NSString *) | token | |
| region: | (NSString *) | region |
更新LiveStsInfo
| accId | 鉴权id |
| accKey | 鉴权秘钥 |
| token | 安全token |
| region | 地域 |
|
readwritenonatomicweak |
设置渲染回调。废弃,使用renderingDelegate。
|
readwritenonatomicassign |
设置透明渲染模式,支持如直播礼物播放等场景。详细用法参考:doc
|
readwritenonatomicassign |
设置是否自动播放,启用后,准备完成会自动开始播放,支持KVO
|
readnonatomicassign |
已缓冲位置
只读属性,获取当前已缓冲到的播放位置(单位:毫秒)。支持KVO观察变化。 缓冲位置用于显示缓冲进度条,总是大于等于当前播放位置。
|
readnonatomicassign |
当前网络下载速度
只读属性,获取当前的网络下载速度(单位:比特每秒,bps)。支持KVO观察变化。 下载速度会在播放过程中实时更新,可用于显示网络速度信息。
|
readnonatomicassign |
当前播放位置
只读属性,获取当前播放位置(单位:毫秒)。支持KVO观察变化。 位置会在播放过程中实时更新,也可以由 AVPDelegate::onCurrentPositionUpdate 获取
|
readnonatomicassign |
获取当前播放位置的utc时间,支持KVO
|
readwritenonatomicweak |
|
readwritenonatomicweak |
DRM代理
设置或查询DRM(数字版权管理)相关请求的代理对象。 此代理仅在通过URL播放时触发,VidAuth和VidSts方式不会触发。 目前仅支持Fairplay DRM。使用弱引用(weak)避免循环引用。
|
readnonatomicassign |
播放时长
只读属性,获取当前播放媒体的总时长(单位:毫秒)。支持KVO观察变化。 媒体信息加载完成后此值才有效。
|
readwritenonatomicassign |
硬件解码启用状态
启用或禁用硬件视频解码。硬件解码可提高解码效率,但在某些情况下可能不支持特定编码格式。 若硬件解码失败,播放器会自动降级到软件解码。设置了自适应降级回调 (AliPlayerGlobalSettings::setAdaptiveDecoderGetBackupURLCallback) 后, 可进一步降级到不同编码的视频流(如H.265降级到H.264)。
|
readwritenonatomicweak |
设置埋点事件回调。
|
readnonatomicassign |
获取视频的高度,支持KVO
|
readnonatomicassign |
本地缓存命中大小
只读属性,获取起播时命中的本地缓存文件大小(单位:字节)。 值大于0表示命中了本地缓存,使用缓存文件进行播放。支持KVO观察变化。
|
readwritenonatomicassign |
设置是否循环播放,支持KVO
|
readwritenonatomicassign |
渲染镜像模式,支持KVO
|
readwritenonatomicassign |
初始化播放器组件
初始化可选的播放器组件。这些组件是可裁剪的,App可删除相应动态库并移除此初始化代码来实现功能裁剪。
| functionName | 组件功能名称 |
| function | 组件初始化函数指针 |
设置是否静音,支持KVO
|
readwritenonatomicassign |
设置输出声道,若输入源是双声道,则支持切换为左声道、右声道;若输入源是单声道,则设置无效。该设置会同时影响音频渲染及PCM数据回调
|
readnonatomicassign |
播放器状态
只读属性,获取播放器的当前状态。支持KVO观察变化。 状态变化通过 AVPDelegate::onPlayerStatusChanged 回调通知。
|
readwritenonatomicstrong |
设置播放器的视图playerView AVPView: mac下为NSOpenGLView,iOS下为UIView
|
readwritenonatomicassign |
播放速率,1为正常播放,支持KVO
|
readwritenonatomicweak |
视频渲染代理(新)
设置或查询视频渲染的代理对象。用于处理视频帧渲染的相关事件。 使用弱引用(weak)避免循环引用。
|
readwritenonatomicassign |
渲染旋转模式,支持KVO
|
readnonatomicassign |
获取视频的旋转角度,从metadata中获取出来,支持KVO
|
readwritenonatomicassign |
渲染填充模式,支持KVO
|
readwritenonatomicassign |
获取/设置播放器的音量(非系统音量),支持KVO,范围0.0~2.0,当音量大于1.0时,可能出现噪音,不推荐使用。
|
readnonatomicassign |
获取视频的宽度,支持KVO