PLVMediaPlayerPictureInPictureManager
Objective-C
@interface PLVMediaPlayerPictureInPictureManager : NSObject
#pragma mark - [ 属性 ]
/// avplayer的播放状态
@property (nonatomic, assign, readonly) NSInteger playbackState;
#pragma mark 可配置项
/// 画中画恢复前的用户界面逻辑代理
@property (nonatomic, weak, nullable) id <PLVMediaPlayerPictureInPictureRestoreDelegate> restoreDelegate;
/// 画中画小窗是否开启
@property (nonatomic, assign, readonly) BOOL pictureInPictureActive;
/// 画中画当前播放的视频vid
@property (nonatomic, assign, readonly) NSString *currentPlaybackVid;
/// 画中画控件(包括播放/暂停、快进、后退)是否可见(YES 可见,NO不可见 默认 YES 可见)
@property (nonatomic, assign) BOOL pictureInPictureControlsVisible;
/// 是否是后台自动触发小窗模式,不同的触发方式,后续交互不一样
/// UI交互手动触发小窗,回到上一级页面;app 退到后台自动触发小窗,停留在当前界面
@property (nonatomic, assign, readonly) BOOL isBackgroudStartMode;
/// 是否支持退到后台,自动启动小窗播放
@property (nonatomic, assign) BOOL canStartPictureInPictureAutomaticallyFromInline;
#pragma mark - [ 方法 ]
/// 单例方法
+ (instancetype)sharedInstance;
/// 停止画中画
- (void)stopPictureInPicture;
/// 设置画中画播放器的播放速率
/// @param rate 速率【0,2】
- (void)setPlaybackRate:(CGFloat)rate;
@end
Swift
class PLVMediaPlayerPictureInPictureManager : NSObject
Undocumented
-
avplayer的播放状态
Declaration
Objective-C
@property (nonatomic, readonly) NSInteger playbackState;
Swift
var playbackState: Int { get }
-
画中画恢复前的用户界面逻辑代理
Declaration
Objective-C
@property (nonatomic, weak, nullable) id<PLVMediaPlayerPictureInPictureRestoreDelegate> restoreDelegate;
Swift
weak var restoreDelegate: PLVMediaPlayerPictureInPictureRestoreDelegate? { get set }
-
画中画小窗是否开启
Declaration
Objective-C
@property (nonatomic, readonly) BOOL pictureInPictureActive;
Swift
var pictureInPictureActive: Bool { get }
-
画中画当前播放的视频vid
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull currentPlaybackVid;
Swift
unowned(unsafe) var currentPlaybackVid: NSString { get }
-
画中画控件(包括播放/暂停、快进、后退)是否可见(YES 可见,NO不可见 默认 YES 可见)
Declaration
Objective-C
@property (nonatomic) BOOL pictureInPictureControlsVisible;
Swift
var pictureInPictureControlsVisible: Bool { get set }
-
是否是后台自动触发小窗模式,不同的触发方式,后续交互不一样 UI交互手动触发小窗,回到上一级页面;app 退到后台自动触发小窗,停留在当前界面
Declaration
Objective-C
@property (nonatomic, readonly) BOOL isBackgroudStartMode;
Swift
var isBackgroudStartMode: Bool { get }
-
是否支持退到后台,自动启动小窗播放
Declaration
Objective-C
@property (nonatomic) BOOL canStartPictureInPictureAutomaticallyFromInline;
Swift
var canStartPictureInPictureAutomaticallyFromInline: Bool { get set }
-
单例方法
Declaration
Objective-C
+ (nonnull instancetype)sharedInstance;
Swift
class func sharedInstance() -> Self
-
停止画中画
Declaration
Objective-C
- (void)stopPictureInPicture;
Swift
func stopPictureInPicture()
-
设置画中画播放器的播放速率
Declaration
Objective-C
- (void)setPlaybackRate:(CGFloat)rate;
Swift
func setPlaybackRate(_ rate: Double)
Parameters
rate
速率【0,2】