KSYMoviePlayerController Class Reference
Inherits from | NSObject |
---|---|
Conforms to | KSYMediaPlayback |
Declared in | KSYMoviePlayerController.h |
– initWithContentURL:
初始化播放器并设置播放地址
- (instancetype)initWithContentURL:(NSURL *)url
Parameters
url |
视频播放地址,该地址可以是本地地址或者服务器地址. |
---|
Return Value
返回KSYMoviePlayerController对象,该对象的视频播放地址ContentURL已经初始化。此时播放器状态为MPMoviePlaybackStateStopped.
返回KSYMoviePlayerController 实例
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
该方法初始化了播放器,并设置了播放地址。但是并没有将播放器对视频文件进行初始化,需要调用 prepareToPlay方法对视频文件进行初始化。
当前支持的协议包括:
- http
- rtmp
- file, 本地文件
- rtsp
Warning: 必须调用该方法进行初始化,不能调用init方法。
Declared In
KSYMoviePlayerController.h
– initWithContentURL:backupURL:
初始化播放器并设置主播放地址和备用播放地址
- (instancetype)initWithContentURL:(NSURL *)url backupURL:(NSURL *)backupURL
Parameters
url |
视频主播放地址,使用HEVC流地址. |
---|---|
backURL |
视频备用播放地址,使用H264流地址 |
Return Value
返回KSYMoviePlayerController对象,该对象的视频播放地址ContentURL已经初始化。此时播放器状态为MPMoviePlaybackStateStopped.
Availability
Available in KSYMoviePlayerController 3.0.1 and later.
Discussion
如果设置了备用播放地址,则会在设备不支持硬解播放HEVC流时切换到备用播放地址进行播放
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– initWithContentURL:sharegroup:
初始化播放器并设置播放地址
- (instancetype)initWithContentURL:(NSURL *)url sharegroup:(EAGLSharegroup *)sharegroup
Parameters
url |
视频播放地址,该地址可以是本地地址或者服务器地址. |
---|---|
sharegroup |
opengl的sharegroup, 用于共享视频渲染texture |
Return Value
返回KSYMoviePlayerController对象,该对象的视频播放地址ContentURL已经初始化。此时播放器状态为MPMoviePlaybackStateStopped.
Availability
Available in KSYMoviePlayerController 1.8.7 and later.
Discussion
如果要获取视频渲染时的texture时(设置textureBlock属性),需要使用此初始化函数,将EAGLSharegroup对象作为参数传入,否则texture无法在多个OpenGL的context中共享使用
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– initWithContentURL:fileList:sharegroup:
初始化播放器并设置播放地址
- (instancetype)initWithContentURL:(NSURL *)url fileList:(NSArray *)fileList sharegroup:(EAGLSharegroup *)sharegroup
Parameters
url |
视频播放的绝对地址,可以设置为nil; |
---|---|
sharegroup |
opengl的sharegroup, 用于共享视频渲染texture, 可以设置为nil |
list |
分片列表,可以设置为nil |
Return Value
返回KSYMoviePlayerController对象,该对象的视频播放地址ContentURL已经初始化。此时播放器状态为MPMoviePlaybackStateStopped.
Availability
Available in KSYMoviePlayerController 2.1.0 and later.
Discussion
该方法更适用于点播
url和list的设置逻辑:
- url和fileList不能同时为空
- url为nil,fileList不为nil时,播放器取list中的地址进行播放
- url不nil,fileList为nil时,播放器取baseURL进行播放
- url和fileList都不为nil,播放会认为url是绝对地址,list为相对地址,找到url中的最后一个'/‘进行url/list 拼接后播放
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
contentURL
正在播放的视频文件的URL地址,该地址可以是本地地址或者服务器地址。
@property (nonatomic, readonly) NSURL *contentURL
Availability
Available in KSYMoviePlayerController 1.0 and later.
Declared In
KSYMoviePlayerController.h
fileList
正在播放的视频文件的list列表
@property (nonatomic, readonly) NSArray *fileList
Availability
Available in KSYMoviePlayerController 2.1.0 and later.
Declared In
KSYMoviePlayerController.h
view
包含视频播放内容的VIEW(只读)。
@property (nonatomic, readonly) UIView *view
See Also
Declared In
KSYMoviePlayerController.h
controlStyle
该属性当前不支持
@property (nonatomic) MPMovieControlStyle controlStyle
Discussion
Warning: 该属性当前不支持
Declared In
KSYMoviePlayerController.h
playbackState
当前播放器的播放状态(只读)。
@property (nonatomic, readonly) MPMoviePlaybackState playbackState
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
可以通过该属性获取视频播放情况:
typedef NS_ENUM(NSInteger, MPMoviePlaybackState) {
MPMoviePlaybackStateStopped, // 播放停止
MPMoviePlaybackStatePlaying, // 正在播放
MPMoviePlaybackStatePaused, // 播放暂停
MPMoviePlaybackStateInterrupted, // 播放被打断
MPMoviePlaybackStateSeekingForward, // 向前seeking中
MPMoviePlaybackStateSeekingBackward // 向后seeking中
} NS_DEPRECATED_IOS(3_2, 9_0);
通知:
- MPMoviePlayerPlaybackDidFinishNotification,当播放完成时提供通知
- MPMoviePlayerPlaybackStateDidChangeNotification,当播放状态变化时提供通知
Declared In
KSYMoviePlayerController.h
loadState
当前网络加载情况
@property (nonatomic, readonly) MPMovieLoadState loadState
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
可以通过该属性获取视频加载情况:
typedef NS_OPTIONS(NSUInteger, MPMovieLoadState) {
MPMovieLoadStateUnknown = 0, // 加载情况未知
MPMovieLoadStatePlayable = 1 << 0, // 加载完成,可以播放
MPMovieLoadStatePlaythroughOK = 1 << 1, // 加载完成,如果shouldAutoplay为YES,将自动开始播放
MPMovieLoadStateStalled = 1 << 2, // 如果视频正在加载中
} NS_DEPRECATED_IOS(3_2, 9_0);
通知:
- MPMoviePlayerLoadStateDidChangeNotification,当加载状态变化时提供通知
Declared In
KSYMoviePlayerController.h
shouldAutoplay
播放视频时是否需要自动播放,默认值为YES。
@property (nonatomic) BOOL shouldAutoplay
Availability
Available in KSYMoviePlayerController 1.0 and later.
Declared In
KSYMoviePlayerController.h
scalingMode
当前缩放显示模式。
@property (nonatomic) MPMovieScalingMode scalingMode
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
当前支持四种缩放模式:
typedef NS_ENUM(NSInteger, MPMovieScalingMode) {
MPMovieScalingModeNone, // 无缩放
MPMovieScalingModeAspectFit, // 同比适配,某个方向会有黑边
MPMovieScalingModeAspectFill, // 同比填充,某个方向的显示内容可能被裁剪
MPMovieScalingModeFill // 满屏填充,与原始视频比例不一致
} NS_DEPRECATED_IOS(2_0, 9_0);
Declared In
KSYMoviePlayerController.h
duration
当前视频总时长
@property (nonatomic, readonly) NSTimeInterval duration
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
视频总时长,单位是秒。
- 如果是直播视频源,总时长为0.
- 如果该信息未知,总时长默认为0.
Declared In
KSYMoviePlayerController.h
playableDuration
当前视频可播放长度
@property (nonatomic, readonly) NSTimeInterval playableDuration
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
视频可播放时长,单位是秒。
- currentPlaybackTime 标记的是播放器当前已播放的时长。
- playableDuration 标记的是播放器缓冲的时间,会稍大于currentPlaybackTime,与currentPlaybackTime的差值则是缓冲长度。
- duration 是视频总时长。
Declared In
KSYMoviePlayerController.h
shouldEnableKSYStatModule
数据统计,默认开启
@property (nonatomic, assign) BOOL shouldEnableKSYStatModule
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
可开关
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
naturalSize
当前视频宽高
@property (nonatomic, readonly) CGSize naturalSize
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
获取信息
- 监听MPMovieNaturalSizeAvailableNotification
- 播放过程中,宽高信息可能会产生更改
Declared In
KSYMoviePlayerController.h
naturalRotate
当前视频自带旋转(逆时针)角度
@property (nonatomic, readonly) NSInteger naturalRotate
Availability
Available in KSYMoviePlayerController 2.2.0 and later.
Declared In
KSYMoviePlayerController.h
logBlock
获取播放器日志
@property (nonatomic, copy) void ( ^ ) ( NSString *logJson ) logBlock
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
相关字段说明请联系金山云技术支持
Declared In
KSYMoviePlayerController.h
bufferTimeMax
bufferTimeMax指定播放时的缓冲时长,单位秒
@property NSTimeInterval bufferTimeMax
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
对于直播流,该属性用于直播延时控制;对于点播流,该属性用于缓冲时长控制
- 直播流该属性默认为2秒,设置为0或负值时为关闭直播追赶
- 点播流该属性默认为3600秒,且与bufferSizeMax同时生效,两者取小值
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
bufferSizeMax
bufferSizeMax指定点播播放时的最大缓冲,单位MB
@property NSUInteger bufferSizeMax
Availability
Available in KSYMoviePlayerController 2.0 and later.
Discussion
取值大小为0-100,超过此区间时将使用默认值15。
- 该属性仅对点播视频有效;
- 默认值为15。
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
readSize
已经加载的数据大小
@property (nonatomic, readonly) double readSize
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
已经加载的数据大小,单位是兆。
- 已经加载的全部数据大小,包括音频和视频。
- 数据包括已经播放的,和当前的cache数据。
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
bufferEmptyDuration
buffer为空时,拉取数据所耗的时长
@property (nonatomic, readonly) NSTimeInterval bufferEmptyDuration
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
当buffer为空时,开始统计。单位为秒。
- 当MPMoviePlayerLoadStateDidChangeNotification 通知发起;
- MPMovieLoadState状态为MPMovieLoadStateStalled 开始计时;
- MPMovieLoadState状态为MPMovieLoadStatePlayable 或者 MPMovieLoadStatePlaythroughOK时,结束计时;
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
bufferEmptyCount
发起cache的次数
@property (nonatomic, readonly) NSInteger bufferEmptyCount
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
当buffer为空时,统计一次,统计的条件为
- 当MPMoviePlayerLoadStateDidChangeNotification 通知发起
- MPMovieLoadState 状态为MPMovieLoadStateStalled
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
serverAddress
视频流server ip
@property (nonatomic, readonly) NSString *serverAddress
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
当收到prepared后,即可以查询当前连接的视频流server ip
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
clientIP
客户端出口IP
@property (nonatomic, readonly) NSString *clientIP
Availability
Available in KSYMoviePlayerController 1.5.0.1 and later.
Discussion
当收到prepared后,即可以查询客户端的出口IP
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
localDNSIP
客户端LocalDNSIP
@property (nonatomic, readonly) NSString *localDNSIP
Availability
Available in KSYMoviePlayerController 1.5.0.1 and later.
Discussion
当收到prepared后,即可以查询客户端的LocalDNSIP
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
qosInfo
视频流qos信息
@property (nonatomic, strong) KSYQosInfo *qosInfo
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
在播放过程中,即可以查询当前连接的视频流qos信息
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– thumbnailImageAtCurrentTime
截图
- (UIImage *)thumbnailImageAtCurrentTime
Return Value
当前时刻的视频UIImage 图像
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
shouldEnableVideoPostProcessing
是否开启视频后处理
@property (nonatomic) BOOL shouldEnableVideoPostProcessing
Availability
Available in KSYMoviePlayerController 1.0 and later.
Declared In
KSYMoviePlayerController.h
videoDecoderMode
是否开启硬件解码
@property (nonatomic, assign) MPMovieVideoDecoderMode videoDecoderMode
Availability
Available in KSYMoviePlayerController 1.3.1 and later.
Declared In
KSYMoviePlayerController.h
shouldMute
是否静音
@property (nonatomic) BOOL shouldMute
Availability
Available in KSYMoviePlayerController 1.3.1 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
shouldHideVideo
是否隐藏视频
@property (nonatomic) BOOL shouldHideVideo
Availability
Available in KSYMoviePlayerController 1.6.1 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
shouldLoop
是否循环播放
@property (nonatomic) BOOL shouldLoop
Availability
Available in KSYMoviePlayerController 1.3.1 and later.
Declared In
KSYMoviePlayerController.h
videoDataBlock
视频数据回调
@property (nonatomic, copy) KSYPlyVideoDataBlock videoDataBlock
Availability
Available in KSYMoviePlayerController 1.3.3 and later.
See Also
Declared In
KSYMoviePlayerController.h
audioDataBlock
音频数据回调
@property (nonatomic, copy) KSYPlyAudioDataBlock audioDataBlock
Availability
Available in KSYMoviePlayerController 1.3.3 and later.
See Also
Declared In
KSYMoviePlayerController.h
messageDataBlock
消息数据回调
@property (nonatomic, copy) KSYPlyMessageDataBlock messageDataBlock
Availability
Available in KSYMoviePlayerController 1.3.3 and later.
See Also
Declared In
KSYMoviePlayerController.h
textureBlock
视频图像texture回调
@property (nonatomic, copy) KSYPlyTextureBlock textureBlock
Availability
Available in KSYMoviePlayerController 1.8.7 and later.
Discussion
调用prepareToPlay方法之前设置生效
Warning: 该方法由金山云引入,不是原生系统接口。使用该属性时需要在初始化时使用initWithContentURL:sharegroup:函数初始化播放器,否则该属性无效
See Also
Declared In
KSYMoviePlayerController.h
rotateDegress
指定逆时针旋转角度,只能是0/90/180/270, 不符合上述值不进行旋转
@property (nonatomic) int rotateDegress
Availability
Available in KSYMoviePlayerController 1.4.1 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
mirror
指定视频是否镜像显示
@property (nonatomic) BOOL mirror
Availability
Available in KSYMoviePlayerController 1.8.4 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
superFastPlay
快速播放
@property (nonatomic) BOOL superFastPlay
Availability
Available in KSYMoviePlayerController 1.5.2 and later.
Discussion
默认不快速播放
- 非固定倍速下的快速播放,而是全速将解码器中的数据显示出来
- 当播放文件存在音频时该功能生效;
- 播放前或者播放过程中均可配置;
- 开启快速播放后,不在输出声音,但是audioDataBlock中依然会上抛pcm数据
- 开启快速播放后,可能会导致播放器不停的进入/结束缓冲状态;
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
deinterlaceMode
是否进行视频反交错处理
@property (nonatomic) MPMovieVideoDeinterlaceMode deinterlaceMode
Availability
Available in KSYMoviePlayerController 1.7.2 and later.
Discussion
默认不进行反交错处理
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
bInterruptOtherAudio
是否打断其他后台的音乐播放
@property (nonatomic) BOOL bInterruptOtherAudio
Availability
Available in KSYMoviePlayerController 1.5.3 and later.
Discussion
也可以理解为是否允许和其他音频同时播放
YES:开始播放时,会打断其他的后台播放音频,也会被其他音频播放打断
NO: 可以与其他后台播放共存,相互之间不会被打断
默认为YES
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
audioPan
立体声平衡模式,默认立体声输出,取值范围为[-1.0, 1.0]
@property (nonatomic) float audioPan
Availability
Available in KSYMoviePlayerController 2.0.3 and later
Discussion
针对单声道或双声道音频播放配置时有效,多声道音频播放配置无效
需要佩戴耳机以区分左右声道,手机外放无效果
prepareToPlay前配置无效,应在播放过程中动态配置
该值为0.0时,左右声道都有声音,< 0时,右声道声音小于左声道;> 0时,左声道声音小于右声道
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
networkDetectURL
用于检测网络连通性的地址,默认使用地址为“www.baidu.com”
@property (nonatomic, readwrite) NSString *networkDetectURL
Availability
Available in KSYMoviePlayerController 2.1.1 and later
Discussion
用户可自定义地址,但不可设置无效地址,如果不清楚规则,建议使用默认值
设置为nil时,则关闭网络连通性的检测, networkStatus属性值为-1
建议在创建对象后设置一次或不设置,不推荐在播放过程中动态配置
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
networkStatus
网络连通状态
@property (nonatomic, readonly) KSYNetworkStatus networkStatus
Availability
Available in KSYMoviePlayerController 2.1.1 and later
Discussion
使用 www.kingsoft.com 作为检测目标
如果networkStatus不等于KSYNetworkStatus枚举中的任意值,则表明当前尚未监测到网络状态
Declared In
KSYMoviePlayerController.h
playbackSpeed
设置播放速度,取值范围(0.5~2.0),默认1.0
@property (nonatomic) float playbackSpeed
Availability
Available in KSYMoviePlayerController 2.4.1 and later.
Discussion
Warning: 该属性由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setTimeout:readTimeout:
timeout指定拉流超时时间,单位是秒
- (void)setTimeout:(int)prepareTimeout readTimeout:(int)readTimeout
Parameters
prepareTimeout |
建立链接超时时间,默认值是10秒 |
---|---|
readTimeout |
拉流超时时间,默认值是30秒 |
Availability
Available in KSYMoviePlayerController 1.3.1 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setVolume:rigthVolume:
setVolume指定播放器输出音量
- (void)setVolume:(float)leftVolume rigthVolume:(float)rightVolume
Parameters
leftVolume |
left volume scalar [0~2.0f] |
---|---|
rightVolume |
right volume scalar [0~2.0f] |
Availability
Available in KSYMoviePlayerController 1.3.3 and later.
Discussion
使用说明
- 输入参数超出范围将失效
- 输出到speaker时需同时设置左右音量为有效值 如:leftVolume = rightVolume = 0.5f
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– getVersion
获取sdk版本
- (NSString *)getVersion
Availability
Available in KSYMoviePlayerController 1.3.1 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– getMetadata
获取播放Meta信息
- (NSDictionary *)getMetadata
Availability
Available in KSYMoviePlayerController 1.3.1 and later.
Discussion
收到MPMediaPlaybackIsPreparedToPlayDidChangeNotification通知后才能获取到数据
暂时支持的查询包括
- kKSYPLYHttpFirstDataTime 建链成功后到收到第一个包所消耗的时间
- kKSYPLYHttpConnectTime 链接服务器所消耗的时间
- kKSYPLYHttpAnalyzeDns 解析DNS所消耗的时间
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– getMetadata:
获取播放Meta
- (NSDictionary *)getMetadata:(MPMovieMetaType)metaType
Availability
Available in KSYMoviePlayerController 2.5.2 and later.
Discussion
收到MPMediaPlaybackIsPreparedToPlayDidChangeNotification通知后才能获取到数据
暂时支持的查询包括
- 当metaType为MPMovieMetaType_Media时,所得到的结果与getMetadata方法相同
- 当metaType为其他类型时,得到的当前播放的视频/音频/字幕流的meta信息
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– isPlaying
当前播放器是否在播放
- (BOOL)isPlaying
Return Value
获取playbackState信息,如果当前状态为MPMoviePlaybackStatePlaying,则返回TRUE。其他情况返回FASLE。
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
See Also
Declared In
KSYMoviePlayerController.h
– reload:
重新启动拉流
- (void)reload:(NSURL *)aUrl
Parameters
aUrl |
视频播放地址,该地址可以是本地地址或者服务器地址.如果为nil,则使用前一次播放地址 |
---|
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
调用场景如下:
- 当播放器调用方发现卡顿时,可以主动调用
- 当估计出更优质的拉流ip时,可以主动调用
- 当发生WiFi/3G网络切换时,可以主动调用
- 当播放器回调体现播放完成时,可以主动调用
- 播放器SDK不会自动调用reload功能
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– reload:flush:
重新启动拉流
- (void)reload:(NSURL *)aUrl flush:(BOOL)flush
Parameters
aUrl |
视频播放地址,该地址可以是本地地址或者服务器地址.如果为nil,则使用前一次播放地址 |
---|---|
flush |
是否清除上一个url的缓冲区内容,该值为NO不清除,为YES则清除 |
Availability
Available in KSYMoviePlayerController 1.0 and later.
Discussion
说明:
- 如果在直播过程中使用reload,希望达到续播的效果,建议flush值设为NO
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– reload:flush:mode:
重新启动拉流
- (void)reload:(NSURL *)aUrl flush:(bool)flush mode:(MPMovieReloadMode)mode
Parameters
aUrl |
视频播放地址,该地址可以是本地地址或者服务器地址.如果为nil,则使用前一次播放地址 |
---|---|
flush |
是否清除上一个url的缓冲区内容,该值为NO不清除,为YES则清除 |
mode |
配置reload后的加载模式,该值为MPMovieReloadModeFast则启用加速播放;若为MPMovieReloadModeAccurate则启用精准查找模式播放 |
Availability
Available in KSYMoviePlayerController 1.6.3 and later.
Discussion
说明:
- 如果在直播过程中使用reload,希望达到续播的效果,建议flush值设为NO
- 设置为MPMovieReloadMode_Fast模式可以加快起播速度,但在码流音视频交织较差的情况下,可能无法检测到所有音视频流
- 设置为MPMovieReloadMode_Accurate模式起播速度会有所下降,但可以保证检测到所有音视频流
- 如果是监听到MPMoviePlayerSuggestReloadNotification消息后调用reload接口,则mode模式一定要设置为MPMovieReloadMode_Accurate,其它情况可根据实际使用场景自行配置
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– getCurrentPts
获取当前播放的pts
- (NSTimeInterval)getCurrentPts
Availability
Available in KSYMoviePlayerController 1.5.0.0 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setUrl:
设置播放url
- (void)setUrl:(NSURL *)url
Parameters
url |
视频播放地址,该地址可以是本地地址或者服务器地址. |
---|
Availability
Available in KSYMoviePlayerController 1.6.2 and later.
Discussion
使用说明
- 通常用于使用一个对象进行多次播放的场景
- 调用reset接口停止播放后使用该接口来设置下一次播放地址
- 需要在prepareToPlay方法之前设置
- v2.1.0及之后的版本,该url不可设置为nil;之前的版本设置为nil,会播放上一次的播放地址
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setUrl:fileList:
设置播放url
- (void)setUrl:(NSURL *)url fileList:(NSArray *)fileList
Parameters
fileList |
分片列表 |
---|---|
baseURL |
视频播放的绝对地址,该地址可以是本地地址或者服务器地址 |
Availability
Available in KSYMoviePlayerController 2.1.0 and later.
Discussion
url和fileList不可同时为nil
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– reset:
重置播放器
- (void)reset:(BOOL)holdLastPic
Parameters
holdLastPic |
是否保留最后一帧 |
---|
Availability
Available in KSYMoviePlayerController 1.6.2 and later.
Discussion
使用说明
- 通常用于使用一个对象进行多次播放的场景
- 该方法可以停止播放,但是不会销毁播放器
- 调用该方法后可以通过调用stop方法来销毁播放器
- 如果使用一个对象进行多次播放,需要在reset后使用setUrl方法设置下次播放地址
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– seekTo:accurate:
跳转到指定位置播放
- (void)seekTo:(double)pos accurate:(BOOL)isAccurate
Parameters
pos |
跳转到的位置,单位秒 |
---|---|
isAccurate |
是否精确跳转,NO时等同于currentPlaybackTime, YES时为精确跳转 |
Availability
Available in KSYMoviePlayerController 1.9.1 and later.
Discussion
媒体文件总时长较小且关键帧间隔较大时,需要使用精确跳转, 总时长较大或者不需要精确定位时可以使用currentPlaybackTime或者将isAccurate设置为NO进行跳转
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setHttpHeaders:
发送http请求时需要header带上的字段
- (void)setHttpHeaders:(NSDictionary *)headers
Parameters
header |
自定义http header字段 |
---|
Availability
Available in KSYMoviePlayerController 2.0.3 and later.
Discussion
在调用prepareToPlay方法前调用生效
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setTrackSelected:selected:
设置开启/关闭指定的媒体轨道
- (void)setTrackSelected:(NSInteger)trackIndex selected:(BOOL)selected
Parameters
trackIndex |
|
---|---|
selected |
|
Availability
Available in KSYMoviePlayerController 2.5.2 and later.
Discussion
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h
– setExtSubtitleFilePath:
设置本地字幕文件的地址
- (void)setExtSubtitleFilePath:(NSString *)subtitleFilePath
Parameters
subtitleFilePath |
本地字幕文件地址 |
---|
Availability
Available in KSYMoviePlayerController 2.5.2 and later.
Discussion
在播放过程中调用
Warning: 该方法由金山云引入,不是原生系统接口
Declared In
KSYMoviePlayerController.h