Commit ade72623 authored by 戴曦嘉's avatar 戴曦嘉
Browse files

2.7.1

parent d82244fb
Pod::Spec.new do |s|
s.name = 'BJVideoPlayerUI'
s.version = '2.7.0'
s.version = '2.7.1'
s.summary = 'BJVideoPlayerUI SDK'
s.description = "BJVideoPlayerUI SDK for iOS."
......@@ -43,11 +43,11 @@ Pod::Spec.new do |s|
}
end
s.dependency "BJLiveBase", "~> 2.7.0"
s.dependency "BJLiveBase/Base", "~> 2.7.0"
s.dependency "BJLiveBase/HUD", "~> 2.7.0"
s.dependency "BJLiveBase/Networking", "~> 2.7.0"
s.dependency "BJLiveBase/Networking+BaijiaYun", "~> 2.7.0"
s.dependency "BJVideoPlayerCore", "~> 2.7.0"
s.dependency "BJLiveBase", "~> 2.7.1"
s.dependency "BJLiveBase/Base", "~> 2.7.1"
s.dependency "BJLiveBase/HUD", "~> 2.7.1"
s.dependency "BJLiveBase/Networking", "~> 2.7.1"
s.dependency "BJLiveBase/Networking+BaijiaYun", "~> 2.7.1"
s.dependency "BJVideoPlayerCore", "~> 2.7.1"
end
BJVideoPlayerUI/Assets/ic_scale@2x.png

1.17 KB | W: | H:

BJVideoPlayerUI/Assets/ic_scale@2x.png

596 Bytes | W: | H:

BJVideoPlayerUI/Assets/ic_scale@2x.png
BJVideoPlayerUI/Assets/ic_scale@2x.png
BJVideoPlayerUI/Assets/ic_scale@2x.png
BJVideoPlayerUI/Assets/ic_scale@2x.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -25,8 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)updateProgressWithCurrentTime:(NSTimeInterval)currentTime
cacheDuration:(NSTimeInterval)cacheDuration
totalDuration:(NSTimeInterval)totalDuration
isHorizon:(BOOL)isHorizon;
totalDuration:(NSTimeInterval)totalDuration;
- (void)updateWithPlayState:(BOOL)playing;
......
......@@ -47,7 +47,7 @@ static const CGFloat controlButtonH = 30.0;
#pragma mark - subViews
- (void)setupSubviews {
CGFloat margin = 10.0;
CGFloat margin = 5.0;
// 播放按钮
[self addSubview:self.playButton];
......@@ -95,7 +95,7 @@ static const CGFloat controlButtonH = 30.0;
[self addSubview:self.definitionButton];
[self.definitionButton bjl_makeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.right.equalTo(self.rateButton.bjl_left).offset(-margin);
make.right.equalTo(self.rateButton.bjl_left);
make.height.equalTo(@(controlButtonH));
make.width.equalTo(@0.0); // to update
}];
......@@ -104,7 +104,7 @@ static const CGFloat controlButtonH = 30.0;
[self addSubview:self.subtitleButton];
[self.subtitleButton bjl_makeConstraints:^(BJLConstraintMaker * _Nonnull make) {
make.centerY.equalTo(self);
make.right.equalTo(self.definitionButton.bjl_left).offset(-margin);
make.right.equalTo(self.definitionButton.bjl_left);
make.height.equalTo(@(controlButtonH));
make.width.equalTo(@0.0); // to update
}];
......@@ -114,76 +114,61 @@ static const CGFloat controlButtonH = 30.0;
- (void)updateConstraintsWithLayoutType:(BOOL)horizon {
self.horizen = horizon;
CGFloat margin = 10.0;
CGFloat margin = 5.0;
if (self.horizen) {
[self.scaleButton setImage:[UIImage bjpu_imageNamed:@"ic_scale_horizen"] forState:UIControlStateNormal];
}
else {
[self.scaleButton setImage:[UIImage bjpu_imageNamed:@"ic_scale"] forState:UIControlStateNormal];
}
if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad) {
// !!!: iPad 不显示缩放按钮
[self.scaleButton bjl_updateConstraints:^(BJLConstraintMaker *make) {
make.width.equalTo(horizon? @0.0 : @(controlButtonH));
make.width.equalTo(@(controlButtonH));
}];
}
[self.rateButton bjl_updateConstraints:^(BJLConstraintMaker *make) {
make.width.equalTo(horizon? @45.0 : @0.0);
make.width.equalTo(@45.0);
}];
[self.definitionButton bjl_updateConstraints:^(BJLConstraintMaker *make) {
make.width.equalTo(horizon? @45.0 : @0.0);
make.width.equalTo(@45.0);
}];
[self.subtitleButton bjl_updateConstraints:^(BJLConstraintMaker * _Nonnull make) {
make.width.equalTo((horizon && self.existSubtitle)? @45.0 : @0.0);
make.width.equalTo((self.existSubtitle)? @45.0 : @0.0);
}];
if (horizon) {
[self.durationLabel bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.right.equalTo(self.subtitleButton.bjl_left).offset(-margin);
}];
[self.currentTimeLabel bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.left.equalTo(self.playButton.bjl_right).offset(margin);
}];
[self.progressView bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.left.equalTo(self.currentTimeLabel.bjl_right).offset(15.0);
make.right.equalTo(self.durationLabel.bjl_left).offset(-15.0);
make.height.equalTo(self);
}];
}
else {
[self.progressView bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.left.equalTo(self.playButton.bjl_right).offset(margin);
make.right.equalTo(self.scaleButton.bjl_left).offset(-margin);
make.centerY.equalTo(self.playButton);
make.height.equalTo(self);
}];
[self.durationLabel bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.bottom.equalTo(self).offset(-5.0);
make.right.equalTo(self.scaleButton.bjl_left).offset(-20.0);
}];
[self.currentTimeLabel bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self.durationLabel);
make.right.equalTo(self.durationLabel.bjl_left);
}];
}
[self.durationLabel bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.right.equalTo(self.subtitleButton.bjl_left).offset(-margin);
}];
[self.currentTimeLabel bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.left.equalTo(self.playButton.bjl_right).offset(margin);
}];
[self.progressView bjl_remakeConstraints:^(BJLConstraintMaker *make) {
make.centerY.equalTo(self);
make.left.equalTo(self.currentTimeLabel.bjl_right).offset(15.0);
make.right.equalTo(self.durationLabel.bjl_left).offset(-15.0);
make.height.equalTo(self);
}];
}
- (void)updateProgressWithCurrentTime:(NSTimeInterval)currentTime
cacheDuration:(NSTimeInterval)cacheDuration
totalDuration:(NSTimeInterval)totalDuration
isHorizon:(BOOL)isHorizon {
totalDuration:(NSTimeInterval)totalDuration {
if (self.stopUpdateProgress) {
return;
}
BOOL durationInvalid = (ceil(totalDuration) <= 0);
self.currentTimeLabel.text = (!isHorizon && durationInvalid)? @"" : [NSString stringFromTimeInterval:currentTime totalTimeInterval:totalDuration];
NSString *separator = isHorizon? @"" : @" / ";
self.durationLabel.text = durationInvalid? @"" : [NSString stringWithFormat:@"%@%@", separator, [NSString stringFromTimeInterval:totalDuration]];
self.currentTimeLabel.text = durationInvalid? @"" : [NSString stringFromTimeInterval:currentTime totalTimeInterval:totalDuration];
self.durationLabel.text = durationInvalid? @"" : [NSString stringWithFormat:@"%@", [NSString stringFromTimeInterval:totalDuration]];
[self.progressView setValue:currentTime cache:cacheDuration duration:totalDuration];
}
......@@ -206,9 +191,7 @@ static const CGFloat controlButtonH = 30.0;
- (void)updateSubtitleExist:(BOOL)exist {
self.existSubtitle = exist;
if (self.horizen) {
[self updateConstraintsWithLayoutType:self.horizen];
}
[self updateConstraintsWithLayoutType:self.horizen];
}
#pragma mark - actions
......@@ -231,7 +214,7 @@ static const CGFloat controlButtonH = 30.0;
- (void)scaleAction:(UIButton *)button {
if (self.scaleCallback) {
self.scaleCallback(YES);
self.scaleCallback(!self.horizen);
}
}
......@@ -370,13 +353,13 @@ static const CGFloat controlButtonH = 30.0;
- (UIButton *)subtitleButton {
if (!_subtitleButton) {
_subtitleButton = ({
UIButton *button = [[UIButton alloc] init];
button.clipsToBounds = YES;
[button setTitleColor:[BJPUTheme defaultTextColor] forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont systemFontOfSize:14]];
[button setTitle:@"字幕" forState:UIControlStateNormal];
[button addTarget:self action:@selector(showSubtitleList) forControlEvents:UIControlEventTouchUpInside];
button;
UIButton *button = [[UIButton alloc] init];
button.clipsToBounds = YES;
[button setTitleColor:[BJPUTheme defaultTextColor] forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont systemFontOfSize:14]];
[button setTitle:@"字幕" forState:UIControlStateNormal];
[button addTarget:self action:@selector(showSubtitleList) forControlEvents:UIControlEventTouchUpInside];
button;
});
}
return _subtitleButton;
......
......@@ -8,9 +8,11 @@
#import <BJLiveBase/BJLiveBase+UIKit.h>
#import "BJPUMediaSettingView.h"
#import "BJPUMediaSettingCell.h"
//#import "BJPUMediaSettingCell.h"
#import "BJPUTheme.h"
#import "BJPUSubtitleView.h"
static NSString *cellIdentifier = @"settingCell";
@interface BJPUMediaSettingView () <UITableViewDelegate, UITableViewDataSource>
......@@ -60,20 +62,25 @@ static NSString *cellIdentifier = @"settingCell";
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *title = (NSString *)[self.options objectAtIndex:indexPath.row];
BJPUMediaSettingCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
BJPUSubtitleCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
NSInteger index = indexPath.row;
NSString *name = [self.options bjl_objectAtIndex:index];
BOOL selected = (self.selectIndex == index);
[cell updateWithSettingTitle:title selected:selected];
[cell setSelectCallback:^{
self.selectIndex = index;
[self.tableView reloadData];
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(optionSelected) object:nil];
[self performSelector:@selector(optionSelected) withObject:nil afterDelay:0.8];
}];
[cell updateWithName:name selected:selected];
[cell remakeSubviewConstraints];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.selectIndex == indexPath.row) {
return;
}
self.selectIndex = indexPath.row;
[tableView reloadData];
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(optionSelected) object:nil];
[self performSelector:@selector(optionSelected) withObject:nil afterDelay:0.8];
}
- (void)optionSelected {
if (self.selectCallback) {
self.selectCallback(self.selectIndex);
......@@ -94,7 +101,7 @@ static NSString *cellIdentifier = @"settingCell";
}
tableView.dataSource = self;
tableView.delegate = self;
[tableView registerClass:[BJPUMediaSettingCell class] forCellReuseIdentifier:cellIdentifier];
[tableView registerClass:[BJPUSubtitleCell class] forCellReuseIdentifier:cellIdentifier];
tableView;
});
}
......
......@@ -10,6 +10,16 @@
NS_ASSUME_NONNULL_BEGIN
@interface BJPUSubtitleCell : UITableViewCell
@property (nonatomic) UILabel *nameLabel;
@property (nonatomic) UIImageView *selectedImageView;
- (void)updateWithName:(nullable NSString *)name selected:(BOOL)selected;
- (void)remakeSubviewConstraints;
@end
@interface BJPUSubtitleView : UIView
- (void)updateWithSettingOptons:(NSArray<NSString *> *)options selectedIndex:(NSUInteger)selectedIndex on:(BOOL)on;
......
......@@ -14,14 +14,6 @@
static NSString *cellIdentifier = @"cellIdentifier";
@interface BJPUSubtitleCell : UITableViewCell
@property (nonatomic) UILabel *nameLabel;
@property (nonatomic) UIImageView *selectedImageView;
@end
@implementation BJPUSubtitleCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
......@@ -70,6 +62,18 @@ static NSString *cellIdentifier = @"cellIdentifier";
self.selectedImageView.hidden = !selected;
}
- (void)remakeSubviewConstraints {
[self.nameLabel bjl_remakeConstraints:^(BJLConstraintMaker * _Nonnull make) {
make.top.bottom.equalTo(self.contentView);
make.centerX.equalTo(self.contentView).offset(5);
}];
[self.selectedImageView bjl_remakeConstraints:^(BJLConstraintMaker * _Nonnull make) {
make.centerY.equalTo(self.contentView);
make.width.height.equalTo(@12.0);
make.right.equalTo(self.nameLabel.bjl_left).offset(-10.0);
}];
}
@end
@interface BJPUSubtitleView () <UITableViewDelegate, UITableViewDataSource>
......@@ -123,8 +127,8 @@ static NSString *cellIdentifier = @"cellIdentifier";
});
[self addSubview:self.subtitleSwitch];
[self.subtitleSwitch bjl_makeConstraints:^(BJLConstraintMaker * _Nonnull make) {
make.left.equalTo(switchLabel.bjl_right).offset(8.0);
make.centerY.equalTo(switchLabel);
make.left.equalTo(switchLabel);
make.top.equalTo(switchLabel.bjl_bottom).offset(12.0);
make.height.equalTo(@31.0);
}];
......@@ -140,7 +144,7 @@ static NSString *cellIdentifier = @"cellIdentifier";
[self addSubview:subtitleLabel];
[subtitleLabel bjl_makeConstraints:^(BJLConstraintMaker * _Nonnull make) {
make.left.height.equalTo(switchLabel);
make.top.equalTo(switchLabel.bjl_bottom).offset(12.0);
make.top.equalTo(self.subtitleSwitch.bjl_bottom).offset(12.0);
}];
self.tableView = ({
......
......@@ -84,7 +84,7 @@
[self.view addSubview:self.mediaSettingView];
[self.mediaSettingView bjl_makeConstraints:^(BJLConstraintMaker *make) {
make.top.bottom.right.equalTo(self.view.bjl_safeAreaLayoutGuide ?: self.view);
make.width.equalTo(@(80.0));
make.width.equalTo(self.view).multipliedBy(0.21);
}];
// reload view
......@@ -177,7 +177,7 @@
return;
}
if (self.layoutType == BJVPlayerViewLayoutType_Horizon && !self.mediaSettingView.hidden) {
if (!self.mediaSettingView.hidden) {
self.mediaSettingView.hidden = YES;
}
if (self.subtitleView) {
......@@ -218,12 +218,12 @@
[self.mediaControlView updateConstraintsWithLayoutType:horizon];
BOOL controlHidden = self.mediaControlView.hidden;
// mediaSettingView: 1: 竖屏:直接隐藏;2.之前是隐藏状态,继续保持。
self.mediaSettingView.hidden = !horizon || self.mediaSettingView.hidden;
if (!horizon && self.subtitleView) {
[self.subtitleView removeFromSuperview];
self.subtitleView = nil;
}
// mediaSettingView 和 subtitleView, 维持原来的状态
self.mediaSettingView.hidden = self.mediaSettingView.hidden;
self.subtitleView.hidden = self.subtitleView.hidden;
// lockButton只有在横屏下才显示
self.lockButton.hidden = !horizon || controlHidden;
}
......@@ -246,13 +246,10 @@
- (void)updatePlayProgress {
NSTimeInterval curr = self.playerManager.currentTime;
NSTimeInterval cache = self.playerManager.cachedDuration;
NSTimeInterval total = self.playerManager.duration;
BOOL horizon = (self.layoutType == BJVPlayerViewLayoutType_Horizon);
NSTimeInterval total = self.playerManager.duration;
[self.mediaControlView updateProgressWithCurrentTime:curr
cacheDuration:cache
totalDuration:total
isHorizon:horizon];
totalDuration:total];
}
- (void)updateWithPlayState:(BJVPlayerStatus)state {
......@@ -271,9 +268,6 @@
}
- (void)showMediaSettingView {
if (self.layoutType != BJVPlayerViewLayoutType_Horizon) {
return;
}
[self hideInterfaceViews];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
self.mediaSettingView.hidden = NO;
......@@ -281,9 +275,6 @@
}
- (void)showSubtitleView {
if (self.layoutType != BJVPlayerViewLayoutType_Horizon) {
return;
}
NSArray<BJVSubtitleInfo *> *infos = self.playerManager.playInfo.subtitleInfo;
NSMutableArray<NSString *> *infoName = [NSMutableArray new];
NSInteger selectedIndex = 0;
......
......@@ -5,6 +5,10 @@ Change Log
- 被标记 `DEPRECATED` 的代码 **将在大版本升级时移除**
- 带有 `alpha``beta``rc` 字样的版本,代码和功能都不稳定,**请勿随意升级**
## 2.7.1
- 点播竖屏模式下显示倍速等 UI 设置。
## 2.7.0
- 增大视频进度条响应区域。
......
PODS:
- AgoraRtcEngine_iOS (2.8.0)
- BJLiveBase (2.7.0):
- BJLiveBase/Base (= 2.7.0)
- BJLiveBase/Auth (2.7.0)
- BJLiveBase/Base (2.7.0):
- BJLiveBase (2.7.1):
- BJLiveBase/Base (= 2.7.1)
- BJLiveBase/Auth (2.7.1)
- BJLiveBase/Base (2.7.1):
- BJLiveBase/extobjc
- BJLiveBase/Foundation
- BJLiveBase/UIKit
- BJLiveBase/Download (2.7.0):
- BJLiveBase/Download (2.7.1):
- BJLiveBase/Base
- BJLiveBase/Networking
- BJLiveBase/YYModel
- BJLiveBase/extobjc (2.7.0)
- BJLiveBase/Foundation (2.7.0):
- BJLiveBase/extobjc (2.7.1)
- BJLiveBase/Foundation (2.7.1):
- BJLiveBase/extobjc
- BJLiveBase/HUD (2.7.0):
- BJLiveBase/HUD (2.7.1):
- BJLiveBase/UIKit
- BJLiveBase/Networking (2.7.0):
- BJLiveBase/Networking (2.7.1):
- BJLiveBase/Base
- "BJLiveBase/Networking+BaijiaYun (2.7.0)":
- "BJLiveBase/Networking+BaijiaYun (2.7.1)":
- BJLiveBase/Base
- BJLiveBase/Networking
- BJLiveBase/PocketSocket/Client (2.7.0):
- BJLiveBase/PocketSocket/Client (2.7.1):
- BJLiveBase/PocketSocket/Core
- BJLiveBase/PocketSocket/Core (2.7.0)
- BJLiveBase/UIKit (2.7.0):
- BJLiveBase/PocketSocket/Core (2.7.1)
- BJLiveBase/UIKit (2.7.1):
- BJLiveBase/extobjc
- BJLiveBase/Foundation
- BJLiveBase/WebImage/AFNetworking (2.7.0):
- BJLiveBase/WebImage/AFNetworking (2.7.1):
- BJLiveBase/Networking
- BJLiveBase/WebImage/BJLWebImage
- BJLiveBase/WebImage/BJLWebImage (2.7.0)
- BJLiveBase/YYFPSLabel (2.7.0)
- BJLiveBase/YYModel (2.7.0)
- BJLiveCore (2.7.1):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Auth (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/PocketSocket/Client (~> 2.7.0)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.0)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveCore/static (= 2.7.1)
- BJLiveCore/BJHLMediaPlayer (2.7.1):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Auth (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/PocketSocket/Client (~> 2.7.0)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.0)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveCore/BJYRTCEngine (2.7.1):
- BJLiveBase/WebImage/BJLWebImage (2.7.1)
- BJLiveBase/YYFPSLabel (2.7.1)
- BJLiveBase/YYModel (2.7.1)
- BJLiveCore (2.7.2):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Auth (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/PocketSocket/Client (~> 2.7.1)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.1)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- BJLiveCore/static (= 2.7.2)
- BJLiveCore/BJHLMediaPlayer (2.7.2):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Auth (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/PocketSocket/Client (~> 2.7.1)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.1)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- BJLiveCore/BJYRTCEngine (2.7.2):
- AgoraRtcEngine_iOS (= 2.8.0)
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Auth (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/PocketSocket/Client (~> 2.7.0)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.0)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Auth (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/PocketSocket/Client (~> 2.7.1)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.1)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- TXLiteAVSDK_TRTC (= 6.9.8341)
- BJLiveCore/static (2.7.1):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Auth (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/PocketSocket/Client (~> 2.7.0)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.0)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveCore/static (2.7.2):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Auth (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/PocketSocket/Client (~> 2.7.1)
- BJLiveBase/WebImage/AFNetworking (~> 2.7.1)
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- BJLiveCore/BJHLMediaPlayer
- BJLiveCore/BJYRTCEngine
- BJPlaybackUI (2.7.0):
......@@ -97,50 +97,50 @@ PODS:
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJVideoPlayerCore (~> 2.7.0)
- BJVideoPlayerCore (2.7.0):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Download (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveCore (~> 2.7.0)
- BJVideoPlayerCore/static (= 2.7.0)
- BJVideoPlayerCore/BJYIJKMediaFramework (2.7.0):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Download (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveCore (~> 2.7.0)
- BJVideoPlayerCore/static (2.7.0):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/Download (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.0)
- BJLiveBase/YYModel (~> 2.7.0)
- BJLiveCore (~> 2.7.0)
- BJVideoPlayerCore (2.7.1):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Download (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- BJLiveCore (~> 2.7.2)
- BJVideoPlayerCore/static (= 2.7.1)
- BJVideoPlayerCore/BJYIJKMediaFramework (2.7.1):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Download (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- BJLiveCore (~> 2.7.2)
- BJVideoPlayerCore/static (2.7.1):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/Download (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJLiveBase/WebImage/BJLWebImage (~> 2.7.1)
- BJLiveBase/YYModel (~> 2.7.1)
- BJLiveCore (~> 2.7.2)
- BJVideoPlayerCore/BJYIJKMediaFramework
- BJVideoPlayerUI (2.7.0):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/HUD (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJVideoPlayerCore (~> 2.7.0)
- BJVideoPlayerUI/static (= 2.7.0)
- BJVideoPlayerUI/static (2.7.0):
- BJLiveBase (~> 2.7.0)
- BJLiveBase/Base (~> 2.7.0)
- BJLiveBase/HUD (~> 2.7.0)
- BJLiveBase/Networking (~> 2.7.0)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.0)"
- BJVideoPlayerCore (~> 2.7.0)
- BJVideoPlayerUI (2.7.1):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/HUD (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJVideoPlayerCore (~> 2.7.1)
- BJVideoPlayerUI/static (= 2.7.1)
- BJVideoPlayerUI/static (2.7.1):
- BJLiveBase (~> 2.7.1)
- BJLiveBase/Base (~> 2.7.1)
- BJLiveBase/HUD (~> 2.7.1)
- BJLiveBase/Networking (~> 2.7.1)
- "BJLiveBase/Networking+BaijiaYun (~> 2.7.1)"
- BJVideoPlayerCore (~> 2.7.1)
- FLEX (2.4.0)
- TXLiteAVSDK_TRTC (6.9.8341)
......@@ -167,14 +167,14 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
AgoraRtcEngine_iOS: 85810ba2f492646ab0eb20fbd8ca016b4b69002d
BJLiveBase: eff28c66e19f92d1c9162f8d9e7d6068c27184f7
BJLiveCore: 0dffab533b1758eec2c3d82fc2fc29020ee692c6
BJLiveBase: dc5811a4ac8226ef2d96c59b84994e414f0ca824
BJLiveCore: 74830fdcf81d426c785aab134492d9e3d4fb9451
BJPlaybackUI: e1899adfaaa2a59264c2b67ea561e29d94c0a282
BJVideoPlayerCore: cd1f6c27d24722eda292390a912536180ecb3ac1
BJVideoPlayerUI: 2d2dd955f3edab21c85d39b2d2782cf28bff9f31
BJVideoPlayerCore: 55b6b5ae6dc64124e39fce680197b1f40cfdd06e
BJVideoPlayerUI: 7e01a41eae2e6d6a9f3e52045496eb0e85b24bd8
FLEX: bd1a39e55b56bb413b6f1b34b3c10a0dc44ef079
TXLiteAVSDK_TRTC: 0d23d1ff11bfed12e6ed2ea48eb013459018e054
PODFILE CHECKSUM: a573e2f42e693cf58a89120e193eff9780f48b56
COCOAPODS: 1.8.4
COCOAPODS: 1.9.1
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment