Skip to content

Commit

Permalink
Release 3.7.1
Browse files Browse the repository at this point in the history
  • Loading branch information
changsanjiang committed Jul 14, 2022
1 parent b63a8c5 commit b133a9b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 24 deletions.
8 changes: 4 additions & 4 deletions SJBaseVideoPlayer/SJBaseVideoPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// default value is YES
///
@property (nonatomic) BOOL hiddenPlaceholderImageViewWhenPlayerIsReadyForDisplay;
@property (nonatomic) BOOL automaticallyHidesPlaceholderImageView;

///
/// 将要隐藏占位图时, 延迟多少秒才去隐藏
Expand Down Expand Up @@ -234,10 +234,10 @@ NS_ASSUME_NONNULL_BEGIN
/// 关于后台播放视频, 引用自: https://juejin.im/post/5a38e1a0f265da4327185a26
///
/// 当您想在后台播放视频时:
/// 1. 需要设置 videoPlayer.pauseWhenAppDidEnterBackground = NO; (该值默认为YES, 即App进入后台默认暂停).
/// 1. 需要设置 videoPlayer.pausedInBackground = NO; (该值默认为YES, 即App进入后台默认暂停).
/// 2. 前往 `TARGETS` -> `Capability` -> enable `Background Modes` -> select this mode `Audio, AirPlay, and Picture in Picture`
///
@property (nonatomic) BOOL pauseWhenAppDidEnterBackground;
@property (nonatomic, getter=isPausedInBackground) BOOL pausedInBackground; ///< 进入后台是否暂停;
@property (nonatomic) BOOL autoplayWhenSetNewAsset; ///< 设置新的资源后, 是否自动调用播放. 默认为 YES
@property (nonatomic) BOOL resumePlaybackWhenAppDidEnterForeground; ///< 进入前台时, 是否恢复播放. 默认为 NO
@property (nonatomic) BOOL resumePlaybackWhenPlayerHasFinishedSeeking; ///< 当`seekToTime:`操作完成后, 是否恢复播放. 默认为 YES
Expand Down Expand Up @@ -759,7 +759,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// - default value is YES.
///
@property (nonatomic) BOOL pauseWhenScrollDisappeared;
@property (nonatomic) BOOL pausedWhenScrollDisappeared;

///
/// 滚动进入时, 是否恢复播放. 默认为YES
Expand Down
40 changes: 20 additions & 20 deletions SJBaseVideoPlayer/SJBaseVideoPlayer.m
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@
} gestureController;

struct {
BOOL needToHiddenWhenPlayerIsReadyForDisplay;
BOOL automaticallyHides;
NSTimeInterval delayHidden;
} placeholder;

struct {
BOOL isScrollAppeared;
BOOL pauseWhenScrollDisappeared;
BOOL pausedWhenScrollDisappeared;
BOOL hiddenPlayerViewWhenScrollDisappeared;
BOOL resumePlaybackWhenScrollAppeared;
} scrollControl;
Expand Down Expand Up @@ -193,9 +193,9 @@ - (instancetype)init {
self = [super init];
if ( !self ) return nil;
_controlInfo = (_SJPlayerControlInfo *)calloc(1, sizeof(struct _SJPlayerControlInfo));
_controlInfo->placeholder.needToHiddenWhenPlayerIsReadyForDisplay = YES;
_controlInfo->placeholder.automaticallyHides = YES;
_controlInfo->placeholder.delayHidden = 0.8;
_controlInfo->scrollControl.pauseWhenScrollDisappeared = YES;
_controlInfo->scrollControl.pausedWhenScrollDisappeared = YES;
_controlInfo->scrollControl.hiddenPlayerViewWhenScrollDisappeared = YES;
_controlInfo->scrollControl.resumePlaybackWhenScrollAppeared = YES;
_controlInfo->playbackControl.autoplayWhenSetNewAsset = YES;
Expand Down Expand Up @@ -708,7 +708,7 @@ - (void)_postNotification:(NSNotificationName)name userInfo:(nullable NSDictiona

- (void)_showOrHiddenPlaceholderImageViewIfNeeded {
if ( _playbackController.isReadyForDisplay ) {
if ( _controlInfo->placeholder.needToHiddenWhenPlayerIsReadyForDisplay ) {
if ( _controlInfo->placeholder.automaticallyHides ) {
NSTimeInterval delay = _URLAsset.original != nil ? 0 : _controlInfo->placeholder.delayHidden;
BOOL animated = _URLAsset.original == nil;
[self.presentView hidePlaceholderImageViewAnimated:animated delay:delay];
Expand Down Expand Up @@ -877,11 +877,11 @@ @implementation SJBaseVideoPlayer (Placeholder)
return _presentView;
}

- (void)setHiddenPlaceholderImageViewWhenPlayerIsReadyForDisplay:(BOOL)isHidden {
_controlInfo->placeholder.needToHiddenWhenPlayerIsReadyForDisplay = isHidden;
- (void)setAutomaticallyHidesPlaceholderImageView:(BOOL)isHidden {
_controlInfo->placeholder.automaticallyHides = isHidden;
}
- (BOOL)hiddenPlaceholderImageViewWhenPlayerIsReadyForDisplay {
return _controlInfo->placeholder.needToHiddenWhenPlayerIsReadyForDisplay;
- (BOOL)automaticallyHidesPlaceholderImageView {
return _controlInfo->placeholder.automaticallyHides;
}


Expand Down Expand Up @@ -1095,11 +1095,11 @@ - (nullable SJVideoPlayerURLAsset *)URLAsset {
}

- (void)_tryToPlayIfNeeded {
if ( self.registrar.state == SJVideoPlayerAppState_Background && self.pauseWhenAppDidEnterBackground )
if ( self.registrar.state == SJVideoPlayerAppState_Background && self.isPausedInBackground )
return;
if ( _controlInfo->playbackControl.autoplayWhenSetNewAsset == NO )
return;
if ( self.isPlayOnScrollView && self.isScrollAppeared == NO && self.pauseWhenScrollDisappeared )
if ( self.isPlayOnScrollView && self.isScrollAppeared == NO && self.pausedWhenScrollDisappeared )
return;

[self play];
Expand Down Expand Up @@ -1149,10 +1149,10 @@ - (BOOL)autoplayWhenSetNewAsset {
return _controlInfo->playbackControl.autoplayWhenSetNewAsset;
}

- (void)setPauseWhenAppDidEnterBackground:(BOOL)pauseWhenAppDidEnterBackground {
self.playbackController.pauseWhenAppDidEnterBackground = pauseWhenAppDidEnterBackground;
- (void)setPausedInBackground:(BOOL)pausedInBackground {
self.playbackController.pauseWhenAppDidEnterBackground = pausedInBackground;
}
- (BOOL)pauseWhenAppDidEnterBackground {
- (BOOL)isPausedInBackground {
return self.playbackController.pauseWhenAppDidEnterBackground;
}

Expand Down Expand Up @@ -1186,7 +1186,7 @@ - (void)play {
if ( self.canPlayAnAsset && !self.canPlayAnAsset(self) )
return;

if ( self.registrar.state == SJVideoPlayerAppState_Background && self.pauseWhenAppDidEnterBackground ) return;
if ( self.registrar.state == SJVideoPlayerAppState_Background && self.isPausedInBackground ) return;

_controlInfo->playbackControl.isUserPaused = NO;

Expand Down Expand Up @@ -2100,11 +2100,11 @@ - (BOOL)isHiddenFloatSmallViewWhenPlaybackFinished {
return _controlInfo->floatSmallViewControl.hiddenFloatSmallViewWhenPlaybackFinished;
}

- (void)setPauseWhenScrollDisappeared:(BOOL)pauseWhenScrollDisappeared {
_controlInfo->scrollControl.pauseWhenScrollDisappeared = pauseWhenScrollDisappeared;
- (void)setPausedWhenScrollDisappeared:(BOOL)pausedWhenScrollDisappeared {
_controlInfo->scrollControl.pausedWhenScrollDisappeared = pausedWhenScrollDisappeared;
}
- (BOOL)pauseWhenScrollDisappeared {
return _controlInfo->scrollControl.pauseWhenScrollDisappeared;
- (BOOL)pausedWhenScrollDisappeared {
return _controlInfo->scrollControl.pausedWhenScrollDisappeared;
}

- (void)setHiddenViewWhenScrollDisappeared:(BOOL)hiddenViewWhenScrollDisappeared {
Expand Down Expand Up @@ -2353,7 +2353,7 @@ - (void)playerWillDisappearForObserver:(nonnull SJPlayModelPropertiesObserver *)
if ( _smallViewFloatingController.isEnabled ) {
[_smallViewFloatingController show];
}
else if ( _controlInfo->scrollControl.pauseWhenScrollDisappeared ) {
else if ( _controlInfo->scrollControl.pausedWhenScrollDisappeared ) {
[self pause];
}

Expand Down

0 comments on commit b133a9b

Please sign in to comment.