LinkvPlayerController Class Reference

Inherits from NSObject
Declared in LinkvPlayerController.h
LinkvPlayerController.m

+ initSDK:debugEnv:

初始化SDK

+ (void)initSDK:(NSString *)key debugEnv:(BOOL)env

Parameters

key

请联系技术支持获取,测试阶段可传空

env

false:正式环境 true:测试环境

Discussion

初始化SDK

Declared In

LinkvPlayerController.h

+ getDefaultConfig

获取播放默认配置参数

+ (LinkvConfig *)getDefaultConfig

Discussion

获取播放默认配置参数

Declared In

LinkvPlayerController.h

– initWithConfig:

初始化播放器并设置播放地址

- (instancetype)initWithConfig:(LinkvConfig *)config

Parameters

config

播放相关配置

Return Value

返回LinkvPlayerController 实例

Declared In

LinkvPlayerController.h

  contentURL

正在播放的视频文件的URL地址,该地址可以是本地地址或者服务器地址。

@property (nonatomic, readonly) NSString *contentURL

Declared In

LinkvPlayerController.h

  view

包含视频播放内容的VIEW(只读)。

@property (nonatomic, readonly) UIView *view

Discussion

view的使用逻辑:

  • 可以通过frame设置view大大小
  • 使用scalingMode 可以更改视频内容在VIEW中的显示情况

Declared In

LinkvPlayerController.h

  loadState

当前网络加载情况

@property (nonatomic, readonly) MPMovieLoadState loadState

Discussion

可以通过该属性获取视频加载情况:


typedef NS_OPTIONS(NSUInteger, MPMovieLoadState) {
MPMovieLoadStateUnknown        = 0,        // 加载情况未知
MPMovieLoadStatePlayable       = 1 << 0,   // 加载完成,可以播放
MPMovieLoadStatePlaythroughOK  = 1 << 1,   // 加载完成
MPMovieLoadStateStalled        = 1 << 2,   // 如果视频正在加载中
} NS_DEPRECATED_IOS(3_2, 9_0);

通知:

  • MPMoviePlayerLoadStateDidChangeNotification,当加载状态变化时提供通知

Declared In

LinkvPlayerController.h

  scalingMode

当前缩放显示模式。

@property (nonatomic) MPMovieScalingMode scalingMode

Discussion

当前支持四种缩放模式:


typedef NS_ENUM(NSInteger, MPMovieScalingMode) {
MPMovieScalingModeNone,       // 无缩放
MPMovieScalingModeAspectFit,  // 同比适配,某个方向会有黑边
MPMovieScalingModeAspectFill, // 同比填充,某个方向的显示内容可能被裁剪
MPMovieScalingModeFill        // 满屏填充,与原始视频比例不一致
} NS_DEPRECATED_IOS(2_0, 9_0);

Declared In

LinkvPlayerController.h

  duration

当前视频总时长

@property (nonatomic, readonly) NSTimeInterval duration

Discussion

视频总时长,单位是秒。

  • 如果是直播视频源,总时长为0.
  • 如果该信息未知,总时长默认为0.

Declared In

LinkvPlayerController.h

  playableDuration

当前视频可播放长度

@property (nonatomic, readonly) NSTimeInterval playableDuration

Discussion

视频可播放时长,单位是秒。

  • currentPlaybackTime 标记的是播放器当前已播放的时长。
  • playableDuration 标记的是播放器缓冲的时间,会稍大于currentPlaybackTime,与currentPlaybackTime的差值则是缓冲长度。
  • duration 是视频总时长。

Declared In

LinkvPlayerController.h

  naturalSize

当前视频宽高

@property (nonatomic, readonly) CGSize naturalSize

Discussion

获取信息

  • 监听MPMovieNaturalSizeAvailableNotification
  • 播放过程中,宽高信息可能会产生更改

Declared In

LinkvPlayerController.h

  bufferTimeMax

bufferTimeMax指定播放时的缓冲时长,单位秒

@property NSTimeInterval bufferTimeMax

Discussion

对于直播流,该属性用于直播延时控制;对于点播流,该属性用于缓冲时长控制

  • 直播流该属性默认为2秒,设置为0或负值时为关闭直播追赶
  • 点播流该属性默认为3600秒,且与bufferSizeMax同时生效,两者取小值

Declared In

LinkvPlayerController.h

  bufferEmptyDuration

buffer为空时,拉取数据所耗的时长

@property (nonatomic, readonly) NSTimeInterval bufferEmptyDuration

Discussion

当buffer为空时,开始统计。单位为秒。

  • 当MPMoviePlayerLoadStateDidChangeNotification 通知发起;
  • MPMovieLoadState状态为MPMovieLoadStateStalled 开始计时;
  • MPMovieLoadState状态为MPMovieLoadStatePlayable 或者 MPMovieLoadStatePlaythroughOK时,结束计时;

Declared In

LinkvPlayerController.h

  bufferEmptyCount

发起cache的次数

@property (nonatomic, readonly) NSInteger bufferEmptyCount

Discussion

当buffer为空时,统计一次,统计的条件为

  • 当MPMoviePlayerLoadStateDidChangeNotification 通知发起
  • MPMovieLoadState 状态为MPMovieLoadStateStalled

Declared In

LinkvPlayerController.h

  serverAddress

视频流server ip

@property (nonatomic, readonly) NSString *serverAddress

Discussion

当收到prepared后,即可以查询当前连接的视频流server ip

Declared In

LinkvPlayerController.h

  qosInfo

视频流qos信息

@property (nonatomic, strong) PlayQosInfo *qosInfo

Discussion

在播放过程中,即可以查询当前连接的视频流qos信息

Declared In

LinkvPlayerController.h

  shouldMute

是否静音

@property (nonatomic) BOOL shouldMute

Declared In

LinkvPlayerController.h

+ getVersion

获取sdk版本

+ (NSString *)getVersion

Declared In

LinkvPlayerController.h

– isPlaying

当前播放器是否在播放

- (BOOL)isPlaying

Return Value

正在播放返回TRUE。其他情况返回FASLE。

Declared In

LinkvPlayerController.h

– getCurrentPts

获取当前播放的pts

- (NSTimeInterval)getCurrentPts

Declared In

LinkvPlayerController.h

– setDataSource:

设置播放地址,开始播放

- (void)setDataSource:(NSString *)url

Parameters

url

播放地址

Discussion

设置播放地址,开始播放

Declared In

LinkvPlayerController.h

– stop

结束播放

- (void)stop

Discussion

结束播放

Declared In

LinkvPlayerController.h

  currentPlaybackTime

播放视频的当前时刻,单位为秒。

@property (nonatomic) NSTimeInterval currentPlaybackTime

Discussion

currentPlaybackTime属性更改时机:

Declared In

LinkvPlayerController.h