Skip to content

Commit

Permalink
Release 2.4.2
Browse files Browse the repository at this point in the history
- 同步基类的`canSeekToTime`
- 完善对`URLAsset`中的 OtherMedia 的处理
- 完善进入后台的瞬间加载图片失败的问题
  • Loading branch information
changsanjiang committed Feb 25, 2019
1 parent 65d601e commit a32b6b2
Show file tree
Hide file tree
Showing 25 changed files with 915 additions and 640 deletions.
4 changes: 2 additions & 2 deletions SJVideoPlayer.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Pod::Spec.new do |s|
s.name = 'SJVideoPlayer'
s.version = '2.4.1'
s.version = '2.4.2'
s.summary = 'video player.'
s.description = 'https://github.com/changsanjiang/SJVideoPlayer/blob/master/README.md'
s.homepage = 'https://github.com/changsanjiang/SJVideoPlayer'
Expand All @@ -11,7 +11,7 @@ Pod::Spec.new do |s|
s.source = { :git => 'https://github.com/changsanjiang/SJVideoPlayer.git', :tag => "v#{s.version}" }
s.requires_arc = true
s.dependency 'Masonry'
s.dependency 'SJBaseVideoPlayer', '2.1.3'
s.dependency 'SJBaseVideoPlayer', '2.1.4'
s.dependency 'SJUIFactory'
s.dependency 'SJAttributesFactory'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN
UIKIT_EXTERN NSString *const SJVideoPlayer_ReplayText;
UIKIT_EXTERN NSString *const SJVideoPlayer_PreviewText;
UIKIT_EXTERN NSString *const SJVideoPlayer_PlayFailedText;
Expand All @@ -19,8 +20,9 @@ UIKIT_EXTERN NSString *const SJVideoPlayer_NotReachableButtonText;

@interface SJEdgeControlLayerLoader : NSObject

+ (UIImage *)imageNamed:(NSString *)name;
+ (nullable UIImage *)imageNamed:(NSString *)name;

+ (NSString *)localizedStringForKey:(NSString *)key;
+ (nullable NSString *)localizedStringForKey:(NSString *)key;

@end
NS_ASSUME_NONNULL_END
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#import "SJEdgeControlLayerLoader.h"

NS_ASSUME_NONNULL_BEGIN
NSString *const SJVideoPlayer_ReplayText = @"SJVideoPlayer_ReplayText";
NSString *const SJVideoPlayer_PreviewText = @"SJVideoPlayer_PreviewText";
NSString *const SJVideoPlayer_PlayFailedText = @"SJVideoPlayer_PlayFailedText";
Expand All @@ -28,11 +29,17 @@ + (NSBundle *)bundle {
return bundle;
}

+ (UIImage *)imageNamed:(NSString *)name {
return [UIImage imageNamed:name inBundle:[self bundle] compatibleWithTraitCollection:nil];
+ (nullable UIImage *)imageNamed:(NSString *)name {
if ( 0 == name.length )
return nil;
int scale = (int)UIScreen.mainScreen.scale;
if ( scale < 2 ) scale = 2;
else if ( scale > 3 ) scale = 3;
NSString *n = [NSString stringWithFormat:@"%@@%dx.png", name, scale];
return [UIImage imageWithContentsOfFile:[self.bundle pathForResource:n ofType:nil]];
}

+ (NSString *)localizedStringForKey:(NSString *)key {
+ (nullable NSString *)localizedStringForKey:(NSString *)key {
static NSBundle *bundle = nil;
if ( nil == bundle ) {
NSString *language = [NSLocale preferredLanguages].firstObject;
Expand All @@ -56,3 +63,4 @@ + (NSString *)localizedStringForKey:(NSString *)key {
return [[NSBundle mainBundle] localizedStringForKey:key value:value table:nil];
}
@end
NS_ASSUME_NONNULL_END
8 changes: 8 additions & 0 deletions SJVideoPlayer/SJEdgeControlLayer/SJEdgeControlLayer.m
Original file line number Diff line number Diff line change
Expand Up @@ -603,14 +603,20 @@ - (void)clickedFullItem:(SJEdgeControlButtonItem *)item {
}

- (void)sliderWillBeginDragging:(SJProgressSlider *)slider {
if ( _SJSlowPath(!_videoPlayer.canSeekToTime) )
return;
[self _draggingDidStart:_videoPlayer];
}

- (void)sliderDidDrag:(SJProgressSlider *)slider {
if ( _SJSlowPath(!_videoPlayer.canSeekToTime) )
return;
[self _draggingForVideoPlayer:_videoPlayer progressTime:slider.value];
}

- (void)sliderDidEndDragging:(SJProgressSlider *)slider {
if ( _SJSlowPath(!_videoPlayer.canSeekToTime) )
return;
[self _draggingDidEnd:_videoPlayer];
}

Expand Down Expand Up @@ -1281,6 +1287,8 @@ - (void)_bottom_updateProgressItem:(SJEdgeControlButtonItem *)progressItem {
slider.bufferProgressColor = setting.progress_bufferColor;
slider.trackHeight = setting.progress_traceHeight;
slider.loadingColor = setting.loadingLineColor;
slider.pan.enabled = _videoPlayer.canSeekToTime;

if ( setting.progress_thumbImage ) {
slider.thumbImageView.image = setting.progress_thumbImage;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,11 @@ @implementation SJFilmEditingGenerateResultControlLayer {

- (void)restartControlLayer {
_restarted = YES;
sj_view_makeAppear(self.controlView, YES);

self.flashingView.alpha = 0.001;
self.itemsContainerView.alpha = 0.001;
self.flashingView.backgroundColor = [UIColor colorWithWhite:1 alpha:0.8];
self.coverImageView.alpha = 0.001;
sj_view_makeAppear(self.controlView, YES);
__weak typeof(self) _self = self;
[self _getScreenshot:^(UIImage * _Nullable img) {
__strong typeof(_self) self = _self;
Expand Down Expand Up @@ -97,7 +96,7 @@ - (void)restartControlLayer {
make.height.equalTo(self.coverImageView.mas_width).multipliedBy(min/max);
}];

CGFloat scale = self.coverImageView.image.size.width / self.coverImageView.image.size.height?:0;
CGFloat scale = img?(self.coverImageView.image.size.width / self.coverImageView.image.size.height):0;
CGFloat maxW = self.bounds.size.width * 0.4;
CGFloat showH = maxW * min / max;
CGFloat showW = showH * scale;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,14 @@ + (NSBundle *)bundle {
return bundle;
}

+ (UIImage *)imageNamed:(NSString *)name {
return [UIImage imageNamed:name inBundle:[self bundle] compatibleWithTraitCollection:nil];
+ (nullable UIImage *)imageNamed:(NSString *)name {
if ( 0 == name.length )
return nil;
int scale = (int)UIScreen.mainScreen.scale;
if ( scale < 2 ) scale = 2;
else if ( scale > 3 ) scale = 3;
NSString *n = [NSString stringWithFormat:@"%@@%dx.png", name, scale];
return [UIImage imageWithContentsOfFile:[self.bundle pathForResource:n ofType:nil]];
}

+ (NSString *)localizedStringForKey:(NSString *)key {
Expand Down
Loading

0 comments on commit a32b6b2

Please sign in to comment.