全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
视频点播

接口说明

更新时间:2017-10-31 19:38:38

AliyunVodPlayer

  • 类名:AliyunVodPlayer

  • 功能:无皮肤播放器的管理类,用于创建播放器实例。

  • 成员:

成员 功能
prepareWithVid:playAuth: 初始化设置vid(视频id)和playauth(播放凭证-通过用户服务端下发)
prepareWithUrl 根据视频url获取视频信息,准备播放
playerView 获取视频显示view
displayMode 获取/设置当前显示模式
autoPlay 获取/设置是否自动播放
quality 获取/设置视频清晰度
muteMode 设置是否静音
isPlaying 获取播放器是否播放
timeout 当播放网络流时,设置网络超时时间,默认15000毫秒
playerState 获取播放器当前状态
start 开始播放
resume 继续播放
pause 暂停播放
stop 停止播放
replay 重新播放
duration 视频总时长
seekToTime 拖动到的时间点
currentTime 视频播放当前时间
loadedTime 视频已经加载的时间
setAliyunVodPlayerDelegate 设置播放状态回调代理
getAliyunMediaInfo 获取媒体信息, 当AliyunVodPlayerEventPrepareDone时,才能获取到该参数对象
setPlayingCache 设置边播边缓存功能
videoWidth 获取视频宽度,只读属性。
videoHeight 获取视频高度,只读属性。
pringtLog 日志开关。
brightness 亮度,调用brightness系统属性,brightness(0~1.0)。
volume 声音调节,调用系统MPVolumeView类实现,并非视频声音;volume(0~1.0)。
playSpeed 设置倍数播放值,可设置为0.5~2
getSDKVersion 获取SDK版本号

下面详细介绍一下各成员函数的具体使用:

prepareWithVid:playAuth

- (void)prepareWithVid:(NSString *)vid playAuth:(NSString *)playAuth;

功能:使用vid+playAuth方式播放。

参数:

  • vid :视频id
  • playAuth:播放凭证(阿里云提供了openApi和SDK获取,需服务端开发并下发)

备注:必须要设置,否则无法进行播放,具体获取方式请参考文档.

prepareWithVid:accid:accSecret:stsToken:authInfo:region:playDomain

- (void)prepareWithVid:(NSString*)vid accId:(NSString *)accId accSecret:(NSString*)accSecret stsToken:(NSString*)stsToken authInfo:(NSString*)authInfo region:(NSString*)region playDomain:(NSString*)playDomain;

功能:视频转码服务用户使用此播放方式,点播用户使用vid+playAuth方式播放。

备注:部分参数参考:https://help.aliyun.com/document_detail/53522.html?spm=5176.doc53534.2.5.mhSfOh。

prepareWithURL:

- (void)prepareWithURL:(NSURL *)url;

功能:播放器初始化视频,主要目的是分析视频内容,读取视频头信息,解析视频流中的视频和音频信息,并根据视频和音频信息去寻找解码器,创建播放线程等

备注:调用该函数完成后立即返回,需要等待准备完成通知,收到该通知后代表视频初始化完成,视频准备完成后可以获取到视频的相关信息。 使用本地地址播放,注意用户需要传 NSURL 类型数据,不是NSSting 类型数据。

playerState

- (AliyunVodPlayerState)playerState;

功能:获取播放器当前播放状态

当前播放状态有:

  • AliyunVodPlayerStateIdle = 0, //空转,闲时,静态
  • AliyunVodPlayerStateError, //错误
  • AliyunVodPlayerStatePrepared, //已准备好
  • AliyunVodPlayerStatePlay, //播放
  • AliyunVodPlayerStatePause, //暂停
  • AliyunVodPlayerStateStop, //停止
  • AliyunVodPlayerStateFinish, //播放完成
  • AliyunVodPlayerStateLoading //加载中

备注:

start

- (void)start;

功能:开始播放视频

备注:在prepareWithVid之后可以调用start进行播放,设置视频大小改变监听事件。

resume

- (void)resume;

功能:恢复播放视频

备注:在pause暂停视频之后可以调用resume进行播放,设置视频切换清晰度的监听事件。

pause

- (void)pause;

功能:暂停播放视频

备注:在start播放视频之后可以调用pause进行暂停,设置视频播放结束的监听事件。

stop

- (void)stop;

功能:停止播放视频

replay

- (void)replay;

功能:重播

releasePlayer

- (void)releasePlayer;

功能:销毁播放器

seekToTime

- (void)seekToTime:(NSTimeInterval)time;

功能:跳转到指定位置进行播放,单位为秒

备注:在播放器状态AliyunVodPlayerEventFirstFrame之后才能调用此函数。

getAliyunMediaInfo

- (AliyunVodPlayerVideo *)getAliyunMediaInfo;

功能:获取媒体信息, 当AliyunVodPlayerEventPrepareDone时,才能获取到该参数对象

setPlayingCache:saveDir:maxSize:maxDuration:

-(void) setPlayingCache:(BOOL)bEnabled saveDir:(NSString*)saveDir maxSize:(int64_t)maxSize maxDuration:(int)maxDuration;

功能:设置边播边缓存功能参数:

  • bEnabled:是否开启缓存功能
  • saveDir:缓存存储的路径
  • maxSize:缓存路径最大空间(MB)
  • maxDuration:缓存最大视频最大长度(秒)

    备注:如果要开启缓存功能,请在播放器prepare之前使用此接口。

playerView

@property (nonatomic, assign, readonly) UIView *playerView;

功能:获取视频显示的窗口

备注:此窗口为内部创建的窗口,可以用来添加到用户界面上,进行视频播放显示的参数设置。

displayMode

@property (nonatomic) AliyunVodPlayerDisplayMode displayMode;

功能:获取/设置显示模式

显示模式:

  • AliyunVodPlayerDisplayModeFit, // 保持原始比例

  • AliyunVodPlayerDisplayModeFitWithCropping // 全屏占满屏幕设置surfaceHolder

autoPlay

@property (nonatomic, getter=isAutoPlay) BOOL autoPlay;

功能:设置/获取是否自动播放

备注:如果设置成自动播放,则prepareWithVid之后不需要调用start进行播放设置surface。

muteMode

@property (nonatomic, getter=isMuteMode) BOOL muteMode;

功能:设置是否静音,YES为静音

isPlaying

@property (nonatomic, readonly,assign) BOOL isPlaying;

功能:播放器初始化后,获取播放器是否播放。

timeout

@property (nonatomic, readonly,assign) BOOL isPlaying;

功能:设置网络超时时间,单位毫秒

备注:当播放网络流时,设置网络超时时间,默认15000毫秒

duration

@property (nonatomic, readonly,assign)NSTimeInterval duration;

功能:视频总长度,单位为秒

备注:在prepareWithVid之后才能够获取时长。

currentTime

- (NSTimeInterval)currentTime;

功能:当前视频播放位置,单位为秒

备注:在开始播放之后才能够获取当前播放位置。

loadedTime

- (NSTimeInterval)loadedTime;

功能:获取已经加载的视频长度(对于网络视频来说,获取已经下载的视频时长)

备注:在开始播放之后才能够获取此位置。

videoWidth

@property (nonatomic, readonly,assign)int videoWidth;

功能:获取视频高度,只读属性。

备注:当调用了prepareToPlay后,并不能立即获得playVideoWidth的值,只有当播放器发送了prepared通知后,videoWidth的值才有效,否则为默认值0。

videoHeight

@property (nonatomic, readonly,assign)int videoHeight;

功能:获取视频高度,只读属性。

备注:当调用了prepareToPlay后,并不能立即获得playVideoHeight的值,只有当播放器发送了prepared通知后,videoHeight的值才有效,否则为默认值0。

pringtLog

@property (nonatomic, getter=isPrintLog,assign) BOOL pringtLog;

功能: 功能:日志开关, default : NO

brightness

@property (nonatomic, readwrite) float brightness;

功能:亮度,调用brightness系统属性,brightness(0~1.0)

volume

@property (nonatomic, readwrite) float volume;

功能:声音调节,调用系统MPVolumeView类实现,并非视频声音;volume(0~1.0)

playSpeed@property(nonatomic, readwrite) float playSpeed;

功能:设置倍数播放值

备注:范围0.5~2区间值.

quality

@property (nonatomic) AliyunVodPlayerVideoQuality quality;

功能:设置/获取清晰度,用来切换视频清晰度

播放器的清晰度包括:

  • AliyunVodPlayerVideoFD, // 流畅
  • AliyunVodPlayerVideoLD, // 标清
  • AliyunVodPlayerVideoSD, // 高清
  • AliyunVodPlayerVideoHD, // 超清
  • AliyunVodPlayerVideo2K, // 2K
  • AliyunVodPlayerVideo4K, // 4K
  • AliyunVodPlayerVideoOD, // 原始

备注:在播放之后才能调用设置视频准备结束的监听事件。

getSDKVersion

- (NSString*) getSDKVersion;

功能:获取此播放器版本号 vision:3.0.0

delegate

@property (nonatomic ,weak) id<AliyunVodPlayerDelegate> delegate;

功能:AliyunVodPlayerManagerDelegate 播放器代理

其中,AliyunVodPlayerEvent为枚举类型,各枚举值含义以及对应返回的params为:

枚举变量 含义
AliyunVodPlayerEventPrepareDone 播放器准备完毕
AliyunVodPlayerEventPlay 播放器开始播放
AliyunVodPlayerEventFirstFrame 播放第一帧图像
AliyunVodPlayerEventPause 播放器暂停播放
AliyunVodPlayerEventFinish 播放器播放完成
AliyunVodPlayerEventStop 播放器停止播放
AliyunVodPlayerEventBeginLoading 播放器开始加载
AliyunVodPlayerEventEndLoading 播放器结束加载
AliyunVodPlayerEventSeekDone 播放器seekto结束

当播放器准备完成后,代理会收到AliyunVodPlayerEventPrepareDone事件,此时可以获取播放器播放数据,具体内容请查看demo。- (void)vodPlayer:(AliyunVodPlayer *)vodPlayer onEventCallback:(AliyunVodPlayerEvent)event ;- (void)vodPlayer:(AliyunVodPlayer*)vodPlayer willSwitchToQuality:(AliyunVodPlayerVideoQuality)quality;- (void)vodPlayer:(AliyunVodPlayer *)vodPlayer didSwitchToQuality:(AliyunVodPlayerVideoQuality)quality;- (void)vodPlayer:(AliyunVodPlayer*)vodPlayer failSwitchToQuality:(AliyunVodPlayerVideoQuality)quality;

- (void)vodPlayer:(AliyunVodPlayer *)vodPlayer playBackErrorModel:(ALPlayerVideoErrorModel *)errorModel;

ALPlayerVideoErrorModel:错误信息对象。

  • errorMsg :错误信息
  • errorCode : 错误码
  • errorVid : 错误Vid
  • errorUrl : 报错时播放url
  • errorRequestId : 确定报错时的具体定位标识
枚举值 错误码 错误信息
ALIVC_ERR_INVALID_PARAM 4001 参数非法
ALIVC_ERR_AUTH_EXPIRED 4002 鉴权过期,请重新获取新的鉴权信息
ALIVC_ERR_INVALID_INPUTFILE 4003 无效的输入文件,请检查视频源和路径
ALIVC_ERR_NO_INPUTFILE 4004 没有设置视频源或视频地址不存在
ALIVC_ERR_READ_DATA_FAILED 4005 读取视频源失败
ALIVC_ERR_LOADING_TIMEOUT 4008 视频加载超时,请检查网络状况
ALIVC_ERR_REQUEST_DATA_ERROR 4009 请求数据错误
ALIVC_ERR_VIDEO_FORMAT_UNSUPORTED 4011 视频格式不支持
ALIVC_ERR_PLAYAUTH_PARSE_FAILED 4012 playAuth解析失败
ALIVC_ERR_DECODE_FAILED 4013 视频解码失败
ALIVC_ERR_NO_SUPPORT_CODEC 4019 视频编码格式不支持
ALIVC_ERR_UNKNOWN 4400 未知错误
ALIVC_ERR_REQUEST_ERROR 4500 服务端请求错误
ALIVC_ERR_DATA_ERROR 4501 服务器返回数据错误
ALIVC_ERR_QEQUEST_SAAS_SERVER_ERROR 4502 请求saas服务器错误
ALIVC_ERR_QEQUEST_MTS_SERVER_ERROR 4503 请求mts服务器错误
ALIVC_ERR_SERVER_INVALID_PARAM 4504 服务器返回参数无效,请检查XX参数
ALIVC_ERR_ILLEGALSTATUS 4521 非法的播放器状态,当前状态是xx
ALIVC_ERR_NO_VIEW 4022 没有设置显示窗口,请先设置播放视图
ALIVC_ERR_NO_MEMORY 4023 内存不足
ALIVC_ERR_FUNCTION_DENIED 4024 系统权限被拒绝或没有经过授权
ALIVC_ERR_DOWNLOAD_NO_NETWORK 4101 视频下载时连接不到服务器
ALIVC_ERR_DOWNLOAD_NETWORK_TIMEOUT 4102 视频下载时网络超时
ALIVC_ERR_DOWNLOAD_QEQUEST_SAAS_SERVER_ERROR 4103 请求点播saas服务器错误
ALIVC_ERR_DOWNLOAD_QEQUEST_MTS_SERVER_ERROR 4104 请求mts服务器错误
ALIVC_ERR_DOWNLOAD_SERVER_INVALID_PARAM 4105 服务器返回参数无效,请检查XX参数
ALIVC_ERR_DOWNLOAD_INVALID_INPUTFILE 4106 视频下载流无效或地址过期
ALIVC_ERR_DOWNLOAD_NO_ENCRYPT_FILE 4107 未找到加密文件,请从控制台下载加密文件并集成
ALIVC_ERR_DONWNLOAD_GET_KEY 4108 获取秘钥失败,请检查秘钥文件
ALIVC_ERR_DOWNLOAD_INVALID_URL 4109 下载地址无效
ALIVC_ERR_DONWLOAD_NO_SPACE 4110 磁盘空间不够
ALIVC_ERR_DOWNLOAD_INVALID_SAVE_PATH 4111 视频文件保存路径不存在,请重新设置
ALIVC_ERR_DOWNLOAD_NO_PERMISSION 4112 当前视频不可下载
ALIVC_ERR_DOWNLOAD_MODE_CHANGED 4113 下载模式改变无法继续下载
ALIVC_ERR_DOWNLOAD_ALREADY_ADDED 4114 当前视频已经添加到下载项,请避免重复添加
ALIVC_ERR_DOWNLOAD_NO_MATCH 4115 未找到合适的下载项,请先添加

具体可以参考demo中的代码。

getSDKVersion

- (NSString*) getSDKVersion;

功能:获取播放器SDK的版本号

AliyunVodPlayerView

  • 类名:AliyunVodPlayerView

  • 功能:有皮肤的播放器类,并已集成默认皮肤。

  • 成员:

成员 功能
initWithFrame 初始化播放器视图
playViewPrepareWithVid:playAuth: 设置vid和playAuth(播放凭证-从用户服务端下发)
setAutoPlay 设置是否自动播放
playWithUrl 播放URL视频
playerViewState 获取播放器当前状态
start 开始播放
resume 继续播放
pause 暂停播放
stop 停止播放
replay 重新播放
releasePlayer 释放播放器
playerViewState 获取播放器状态
delegate 播放器代理
getSDKVersion 获取播放器版本号

下面详细介绍一下各成员函数的具体使用:

initWithFrame

  • (instancetype)initWithFrame:(CGRect)frame;

功能:创建播放器,传入播放器视图窗口大小

参数:视图view大小

备注:默认皮肤为蓝色

initWithFrame

- (instancetype)initWithFrame:(CGRect)frame andSkin:(AliyunVodPlayerViewSkin)skin;

功能:创建播放器,传入播放器视图窗口大小,并且设置播放器窗口皮肤

参数:

  • frame:视图view大小
  • skin:皮肤样式,类型有:
    • AliyunVodPlayerViewSkinBlue
    • AliyunVodPlayerViewSkinRed
    • AliyunVodPlayerViewSkinOrange
    • AliyunVodPlayerViewSkinGreen

playViewPrepareWithVid:playAuth

- (void)playViewPrepareWithVid:(NSString *)vid playAuth : (NSString *)playAuth;

功能:设置用户的vid和playAuth,准备播放。

参数:

  • vid:播放的视频id
  • playAuth:播放凭证(阿里云提供了openApi和SDK获取,需服务端开发并下发)

备注:必须要设置,否则无法进行播放,具体获取方式请参考文档.

setAutoPlay

- (void)setAutoPlay:(BOOL)autoPlay;

功能:设置是否自动播放

参数:autoPlay,为YES时表示自动播放

playWithUrl

- (void)playWithUrl:(NSURL*)url;

功能:播放器初始化视频,主要目的是分析视频内容,读取视频头信息,解析视频流中的视频和音频信息,并根据视频和音频信息去寻找解码器,创建播放线程等

参数:url,输入视频的url地址,包括本地和网络视频地址

备注:如果设置成AutoPlay,则调用此函数会进行自动播放,否则需要调用start进行播放。

start

- (void)start;

功能:开始播放视频

备注:在prepareWithVid之后可以调用start进行播放,设置视频大小改变监听事件。

resume

- (void)resume;

功能:恢复播放视频

备注:在pause暂停视频之后可以调用resume进行播放,设置视频切换清晰度的监听事件。

pause

- (void)pause;

功能:暂停播放视频

备注:在start播放视频之后可以调用pause进行暂停,设置视频播放结束的监听事件。

stop

- (void)stop;

功能:停止播放视频

replay

- (void)replay;

功能:重播

releasePlayer

- (void)releasePlayer;

功能:销毁播放器

delegate

@property (nonatomic, weak) id<AliyunVodPlayerViewDelegate> delegate;

功能:设置AliyunVodPlayerViewDelegate代理。

备注:协议AliyunVodPlayerViewDelegate为

@protocol AliyunVodPlayerViewDelegate - (void)onBackViewClick;当视频返回的时候的消息响应代理,此处可以进行一些销毁操作。

@protocol AliyunVodPlayerViewDelegate -(void)onPause:(NSTimeInterval)currentPlayTime;当视频暂停时的消息响应代理,返回播放器当前播放的位置。

@protocol AliyunVodPlayerViewDelegate -(void)onResume:(NSTimeInterval)currentPlayTime;当视频恢复播放时的消息响应代理,返回播放器当前播放的位置。

@protocol AliyunVodPlayerViewDelegate -(void)onStop:(NSTimeInterval)currentPlayTime;当视停止播放时的消息响应代理,返回播放器当前播放的位置。

@protocol AliyunVodPlayerViewDelegate - (void)aliyunVodPlayerView:(AliyunVodPlayerView)playerView onSeekDone:(NSTimeInterval)seekDoneTime;seektotime结束后消息相应代理。@protocol AliyunVodPlayerViewDelegate - (void)aliyunVodPlayerView:(AliyunVodPlayerView)playerView lockScreen:(BOOL)isLockScreen;当设定锁屏按钮时消息相应代理,返回锁屏状态。

playerViewState

- (AliyunVodPlayerViewState)playerViewState;

功能:播放器播放状态,包括

  • AliyunVodPlayerViewStateIdle, 无播放空闲状态
  • AliyunVodPlayerViewStateError, 播放错误状态
  • AliyunVodPlayerViewStatePreparing, 正在播放准备状态
  • AliyunVodPlayerViewStatePrepared, 播放准备完成状态
  • AliyunVodPlayerViewStatePlay, 正在播放状态
  • AliyunVodPlayerViewStatePause, 播放暂停状态
  • AliyunVodPlayerViewStateStop, 播放停止状态
  • AliyunVodPlayerViewStateLoading, 正在加载状态设置视频播放结束的监听事件

getSDKVersion

- (NSString*) getSDKVersion;

功能:获取播放器版本号

AliyunVodDownLoadManager

  • 类名:AliyunVodDownLoadManager

  • 功能:下载管理类,实现下载管理功能。

  • 成员:

成员 功能
shareManager 获取下载类单例对象
setDownLoadPath 设置下载视频存放路径
setDownloadPassword 设置下载视频的加密密钥
setEncrptyFile 设置下载的加密图
changeEncryptFile 改变加密图设置
setMaxDownloadOperationCount 设置同时下载的数量
downLoadInfoListenerDelegate 设置下载消息的代理监听器
prepareDownloadMedia 准备下载,用于下载之前获取下载视频信息
startDownloadMedia 开始下载单个视频
startDownloadMedias 开始下载多个视频
stopDownloadMedia 停止下载单个视频
stopDownloadMedias 停止下载多个视频
stopAllDownloadMedia 停止所有视频下载
downloadingdMedias 获取正在下载的视频,包括正在下载和等待下载的视频
currentDownloadingdMedias 获取正在下载的视频,不包括等待下载的视频
allMedias 获取所有下载的视频列表,包括已下载、已停止和下载中的视频
clearDownLoadingMedia 清除指定下载中的视频
clearDownLoadingMedias 清除所有下载中的视频
getSDKVersion 获取下载功能的版本号

下面详细介绍一下各成员函数的具体使用:

shareManager

+(AliyunVodDownLoadManager*)shareManager;

功能:获取下载单例实例。

setDownLoadPath

-(void)setDownLoadPath:(NSString *)path;

功能:设置加密视频的下载存放路径。

参数:

  • path:下载路径

备注:上次异常结束未完成的视频下载信息,会在下次设置下载路径后启动onUnFinished回调。

setDownloadPassword

-(void)setDownloadPassword:(NSString *)password;

功能:设置下载视频加密的密钥。改函数已经废弃,设置将不起作用

参数:

  • password:下载视频加密的密钥

setEncrptyFile

-(void)setEncrptyFile:(NSString *)encrptyFile;

功能:设置安全下载的加密文件(dat),加密文件的作用是将下载视频的密钥和用户的app信息进行绑定。安全下载是指将视频文件通过私钥进行二次加密,下载后在SDK内部完成视频解密,保障离线视频仅能通过唯一应用进行安全播放,具体请参考:使用说明

参数:

  • encrptyFile:加密文件存放的位置

changeEncryptFile

-(int)changeEncryptFile:(NSString*)oldEncrptyFile newEncryptFile:(NSString*)newEncryptFile mp4Files:(NSArray*)mp4Files;

功能:当需要更换密钥的时候,需要将用老的密钥下载的文件进行转换,转换成新的密钥加密产生的文件。

参数:

  • oldEncrptyFile:老的加密文件
  • newEncryptFile:新的加密文件
  • mp4Files:老的加密文件加密下载的mp4文件列表

备注:当调用changeEncryptFile函数的时候,将会有相关的回调:

@protocol AliyunVodDownLoadDelegate - -(void) onChangeEncryptFileProgress::(int)progress;更改加密文件后,转换mp4文件的进度。

@protocol AliyunVodDownLoadDelegate - -(void) onChangeEncryptFileComplete;转换mp4文件完成后的通知。

downLoadInfoListenerDelegate

-(void)downLoadInfoListenerDelegate:(id<AliyunVodDownLoadDelegate>)delegate;

功能:设置下载视频中的消息代理。

参数:

  • delegate:AliyunVodDownLoadDelegate代理协议

备注:协议AliyunVodDownLoadDelegate为

@protocol AliyunVodDownLoadDelegate - -(void) onUnFinished:(NSArray*)mediaInfos;上次异常结束未完成的视频下载信息,会在下次设置下载路径后启动该回调。

@protocol AliyunVodDownLoadDelegate -(NSString) onGetPlayAuth:(NSString)vid format:(NSString*)format quality:(AliyunVodPlayerVideoQuality)quality;当使用PlayAuth的方式进行请求时,为了防止playAuth过期,每次下载的时候需要获取到新的playAuth。

@protocol AliyunVodDownLoadDelegate -(void) onPrepare:(NSArray*)mediaInfos;prepareDownloadMedia调用后,准备完成后发生该回调,用来获视频下载的信息如长度、大小、格式等。

@protocol AliyunVodDownLoadDelegate -(void) onStart:(AliyunDownloadMediaInfo*)mediaInfo;当调用startDownloadMedia后,onStart回调产生,通知已经开始下载。

@protocol AliyunVodDownLoadDelegate -(void) onProgress:(AliyunDownloadMediaInfo*)mediaInfo;下载进度回调,用来获取正在下载的进度信息

@protocol AliyunVodDownLoadDelegate -(void) onStop:(AliyunDownloadMediaInfo*)mediaInfo;视频下载停止回调

@protocol AliyunVodDownLoadDelegate -(void) onCompletion:(AliyunDownloadMediaInfo*)mediaInfo;视频下载完成回调

@protocol AliyunVodDownLoadDelegate -(void)onError:(AliyunDownloadMediaInfo)mediaInfo code:(int)code msg:(NSString )msg;视频下载发生错误时的回调,code错误码,msg错误描述字符串

  • AliyunVodDownLoadError:错误类型有:
    • AliyunVodDownLoadErrorNotConnectServer // 服务器不可连接
    • AliyunVodDownLoadErrorRequestSaasServer // 请求saas服务器错误
    • AliyunVodDownLoadErrorRequestMTSServer // 请求MTS服务器错误
    • AliyunVodDownLoadErrorServerInvalidParam // 服务器返回无效参数
    • AliyunVodDownLoadErrorInputParamInvalid // 调用函数输入参数错误
    • AliyunVodDownLoadErrorNetTimeOut // 网络超时
    • AliyunVodDownLoadErrorUrlInVaild // 流无效/地址过期
    • AliyunVodDownLoadErrorInvalidSecretImage // 密钥图片不对
    • AliyunVodDownLoadErrorDiskSpace // 磁盘空间不够
    • AliyunVodDownLoadErrorDownLoadUrlNotHave // 下载路径不存在
    • AliyunVodDownLoadErrorNoPermission // 无权限下载
    • AliyunVodDownLoadErrorException // try catch捕获错误
    • AliyunVodDownLoadErrorDownloadModeChange // 下载模式改变,无法继续下载

prepareDownloadMedia

-(void)prepareDownloadMedia:(AliyunDataSource*)dataSource;

功能:获取视频信息,一般下载之前调用,获取视频长度、大小、格式和清晰度。

参数:

  • dataSource:AliyunDataSource类,该类包括以下:
    • vid:视频的vid信息
    • quality: 要下载视频的清晰度,AliyunVodPlayerVideoQuality清晰度有:
      • AliyunVodPlayerVideoFD, // 流畅
      • AliyunVodPlayerVideoLD, // 标清
      • AliyunVodPlayerVideoSD, // 高清
      • AliyunVodPlayerVideoHD, // 超清
      • AliyunVodPlayerVideo2K, // 2K
      • AliyunVodPlayerVideo4K, // 4K
      • AliyunVodPlayerVideoOD, // 原始
    • playAuth:下载视频的playAuth

      备注:调用此函数,如果成功将会有onPrepare回调,-(void) onPrepare:(NSArray*)mediaInfos;将会返回AliyunDownloadMediaInfo的数组。

  • mediaInfosme:AliyunDownloadMediaInfo类数组,该类包括以下:
    • vid:视频的vid信息
    • title:视频的标题信息
    • coverURL:视频的封面图片URL
    • quality: 要下载视频的清晰度,AliyunVodPlayerVideoQuality枚举
    • downloadProgress:下载的进度信息
    • duration:下载视频的视频长度
    • size:下载视频的的文件大小
    • format:下载视频的格式信息

startDownloadMedia

-(void) startDownloadMedia:(AliyunDataSource*)dataSource;

功能:启动单个视频的下载。

参数:

  • dataSource:AliyunDataSource类

备注:调用startDownloadMedia,如果成功将会有-(void) onStart:(AliyunDownloadMediaInfo*)mediaInfo回调信息

startDownloadMedias

-(void) startDownloadMedias:(NSArray<AliyunDataSource*>*)dataSources;

功能:启动多个视频的下载。

参数:

  • dataSources:AliyunDataSource类数组

备注:调用startDownloadMedias,每成功开始下载一个,都会回调一次onStart代理

stopDownloadMedia

-(void) stopDownloadMedia:(AliyunDownloadMediaInfo*)downloadInfo;

功能:停止单个视频的下载。

参数:

  • downloadInfo:AliyunDownloadMediaInfo类

备注:调用stopDownloadMedia,如果成功将会产生-(void) onStop:(AliyunDownloadMediaInfo*)mediaInfo回调

stopDownloadMedias

-(void) stopDownloadMedias:(NSArray<AliyunDownloadMediaInfo*>*)downloadInfos;

功能:停止多个视频的下载。

参数:

  • downloadInfos:AliyunDownloadMediaInfo类数组

备注:调用stopDownloadMedias,每成功一个都会产生onStop回调

stopAllDownloadMedia

-(void) stopAllDownloadMedia;

功能:停止所有视频的下载。

备注:stopAllDownloadMedia,每成功一个都会产生onStop回调

downloadingdMedias

-(NSArray<AliyunDownloadMediaInfo*>*) downloadingdMedias;

功能:获取正在下载的视频列表,包括正在下载的和等待下载的。

备注:返回AliyunDownloadMediaInfo数组

currentDownloadingdMedias

-(NSArray<AliyunDownloadMediaInfo*>*) currentDownloadingdMedias;

功能:获取正在下载的视频列表,不包括等待下载的。

备注:返回AliyunDownloadMediaInfo数组

allMedias

-(NSArray<AliyunDownloadMediaInfo*>*) allMedias;

功能:获取所有下载的视频列表,包括正在下载的,等待的,停止的,结束的等。

备注:返回AliyunDownloadMediaInfo数组

clearDownLoadingMedia

-(void) clearDownLoadingMedia:(AliyunDownloadMediaInfo*)downloadInfo;

功能:清除下载的指定的视频,包括删除下载的文件。

参数:

  • downloadInfo:AliyunDownloadMediaInfo类

clearDownLoadingMedias

-(void) clearDownLoadingMedias;

功能:清除所有下载的视频,包括删除下载的文件。

getSDKVersion

- (NSString*) getSDKVersion;

功能:获取下载功能的版本号

本文导读目录