Commit 24e22896 authored by Hanruisong's avatar Hanruisong
Browse files

升级到 4.8.1

1.新增动感视频功能
parent a71909f8
No preview for this file type
......@@ -259,8 +259,11 @@
04AB4A4522B1F22A00BB9BF9 /* icon_exercises_answer_e_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04AB4A2122B1F22900BB9BF9 /* icon_exercises_answer_e_normal@2x.png */; };
04AB4A4622B1F22A00BB9BF9 /* icon_exercises_answer_b_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04AB4A2222B1F22900BB9BF9 /* icon_exercises_answer_b_normal@2x.png */; };
04ADD05E2297CE7000A71F7B /* DWOfflineModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 04ADD05D2297CE7000A71F7B /* DWOfflineModel.m */; };
04B0CBDE24EA27FF004222DC /* CCVodSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04B0CBDC24EA27FF004222DC /* CCVodSDK.framework */; };
04B0CBDF24EA27FF004222DC /* HDBaseUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04B0CBDD24EA27FF004222DC /* HDBaseUtils.framework */; };
04B0CBE424EA66BC004222DC /* icon_setting_inpact_select@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B0CBE024EA66BB004222DC /* icon_setting_inpact_select@2x.png */; };
04B0CBE524EA66BC004222DC /* icon_setting_inpact_normal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B0CBE124EA66BC004222DC /* icon_setting_inpact_normal@3x.png */; };
04B0CBE624EA66BC004222DC /* icon_setting_inpact_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B0CBE224EA66BC004222DC /* icon_setting_inpact_normal@2x.png */; };
04B0CBE724EA66BC004222DC /* icon_setting_inpact_select@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B0CBE324EA66BC004222DC /* icon_setting_inpact_select@3x.png */; };
04B0CBEA24EBA2E3004222DC /* DWImpactRemindView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04B0CBE924EBA2E3004222DC /* DWImpactRemindView.m */; };
04B7A65B226B0E5E00951983 /* icon_question_multi@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B7A653226B0E5D00951983 /* icon_question_multi@2x.png */; };
04B7A65C226B0E5E00951983 /* icon_question_multi_select@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B7A654226B0E5D00951983 /* icon_question_multi_select@2x.png */; };
04B7A65D226B0E5E00951983 /* icon_question_single_select@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04B7A655226B0E5D00951983 /* icon_question_single_select@3x.png */; };
......@@ -400,6 +403,8 @@
B57CC7BE18E2E575001A1696 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B57CC7BD18E2E575001A1696 /* CoreLocation.framework */; };
B57CC7C018E2E581001A1696 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B57CC7BF18E2E581001A1696 /* AVFoundation.framework */; };
B88562A41DED1AC8008D1763 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B88562A31DED1AC8008D1763 /* SystemConfiguration.framework */; };
DD7345AD24F36C8700866368 /* CCVodSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD7345AB24F36C8700866368 /* CCVodSDK.framework */; };
DD7345AE24F36C8700866368 /* HDBaseUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD7345AC24F36C8700866368 /* HDBaseUtils.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
......@@ -789,8 +794,12 @@
04AB4A2222B1F22900BB9BF9 /* icon_exercises_answer_b_normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_exercises_answer_b_normal@2x.png"; sourceTree = "<group>"; };
04ADD05C2297CE7000A71F7B /* DWOfflineModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWOfflineModel.h; sourceTree = "<group>"; };
04ADD05D2297CE7000A71F7B /* DWOfflineModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DWOfflineModel.m; sourceTree = "<group>"; };
04B0CBDC24EA27FF004222DC /* CCVodSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CCVodSDK.framework; sourceTree = "<group>"; };
04B0CBDD24EA27FF004222DC /* HDBaseUtils.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HDBaseUtils.framework; sourceTree = "<group>"; };
04B0CBE024EA66BB004222DC /* icon_setting_inpact_select@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_setting_inpact_select@2x.png"; sourceTree = "<group>"; };
04B0CBE124EA66BC004222DC /* icon_setting_inpact_normal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_setting_inpact_normal@3x.png"; sourceTree = "<group>"; };
04B0CBE224EA66BC004222DC /* icon_setting_inpact_normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_setting_inpact_normal@2x.png"; sourceTree = "<group>"; };
04B0CBE324EA66BC004222DC /* icon_setting_inpact_select@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_setting_inpact_select@3x.png"; sourceTree = "<group>"; };
04B0CBE824EBA2E3004222DC /* DWImpactRemindView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DWImpactRemindView.h; sourceTree = "<group>"; };
04B0CBE924EBA2E3004222DC /* DWImpactRemindView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DWImpactRemindView.m; sourceTree = "<group>"; };
04B7A653226B0E5D00951983 /* icon_question_multi@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_question_multi@2x.png"; sourceTree = "<group>"; };
04B7A654226B0E5D00951983 /* icon_question_multi_select@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_question_multi_select@2x.png"; sourceTree = "<group>"; };
04B7A655226B0E5D00951983 /* icon_question_single_select@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_question_single_select@3x.png"; sourceTree = "<group>"; };
......@@ -970,6 +979,8 @@
B57CC7BD18E2E575001A1696 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
B57CC7BF18E2E581001A1696 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
B88562A31DED1AC8008D1763 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
DD7345AB24F36C8700866368 /* CCVodSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CCVodSDK.framework; sourceTree = "<group>"; };
DD7345AC24F36C8700866368 /* HDBaseUtils.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HDBaseUtils.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
......@@ -983,11 +994,11 @@
043441FF225EF2BB003F7EC1 /* CoreServices.framework in Frameworks */,
352CBDD91FD6980C00D24715 /* AudioToolbox.framework in Frameworks */,
352CBDD71FD697E800D24715 /* MediaPlayer.framework in Frameworks */,
04B0CBDF24EA27FF004222DC /* HDBaseUtils.framework in Frameworks */,
DD7345AE24F36C8700866368 /* HDBaseUtils.framework in Frameworks */,
B88562A41DED1AC8008D1763 /* SystemConfiguration.framework in Frameworks */,
B57CC7C018E2E581001A1696 /* AVFoundation.framework in Frameworks */,
B57CC7BE18E2E575001A1696 /* CoreLocation.framework in Frameworks */,
04B0CBDE24EA27FF004222DC /* CCVodSDK.framework in Frameworks */,
DD7345AD24F36C8700866368 /* CCVodSDK.framework in Frameworks */,
B57CC7BC18E2E569001A1696 /* CoreMedia.framework in Frameworks */,
B547EC4C18E033FB00BC980C /* CoreGraphics.framework in Frameworks */,
B547EC4E18E033FB00BC980C /* UIKit.framework in Frameworks */,
......@@ -1278,6 +1289,8 @@
04EB65BE226D679F00FAB532 /* DWSettingFuncButton.m */,
04ADD05C2297CE7000A71F7B /* DWOfflineModel.h */,
04ADD05D2297CE7000A71F7B /* DWOfflineModel.m */,
04B0CBE824EBA2E3004222DC /* DWImpactRemindView.h */,
04B0CBE924EBA2E3004222DC /* DWImpactRemindView.m */,
);
path = Others;
sourceTree = "<group>";
......@@ -1418,6 +1431,10 @@
049FEF82225EEEA200D944C5 /* Images */ = {
isa = PBXGroup;
children = (
04B0CBE224EA66BC004222DC /* icon_setting_inpact_normal@2x.png */,
04B0CBE124EA66BC004222DC /* icon_setting_inpact_normal@3x.png */,
04B0CBE024EA66BB004222DC /* icon_setting_inpact_select@2x.png */,
04B0CBE324EA66BC004222DC /* icon_setting_inpact_select@3x.png */,
0491DCE024B5604200DF40C7 /* icon_barrage_close_white@2x.png */,
0491DCD124B5604000DF40C7 /* icon_barrage_close_white@3x.png */,
0491DCB124B5603B00DF40C7 /* icon_barrage_close@2x.png */,
......@@ -1650,15 +1667,6 @@
path = Images;
sourceTree = "<group>";
};
04B0CBDB24EA27FF004222DC /* SDK */ = {
isa = PBXGroup;
children = (
04B0CBDC24EA27FF004222DC /* CCVodSDK.framework */,
04B0CBDD24EA27FF004222DC /* HDBaseUtils.framework */,
);
path = SDK;
sourceTree = "<group>";
};
04B7A652226AFA5F00951983 /* Question */ = {
isa = PBXGroup;
children = (
......@@ -1819,7 +1827,7 @@
isa = PBXGroup;
children = (
044C66A122D46DAE0032396F /* Demo.entitlements */,
04B0CBDB24EA27FF004222DC /* SDK */,
DD7345AA24F36C8700866368 /* SDK */,
0434420D225F0EDD003F7EC1 /* Classes */,
B547EC5818E033FB00BC980C /* DWAppDelegate.h */,
B547EC5918E033FB00BC980C /* DWAppDelegate.m */,
......@@ -1846,6 +1854,15 @@
name = "Supporting Files";
sourceTree = "<group>";
};
DD7345AA24F36C8700866368 /* SDK */ = {
isa = PBXGroup;
children = (
DD7345AB24F36C8700866368 /* CCVodSDK.framework */,
DD7345AC24F36C8700866368 /* HDBaseUtils.framework */,
);
path = SDK;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
......@@ -1942,6 +1959,7 @@
04BAA93E22D4787B000495B4 /* icon_screen_refresh@3x.png in Resources */,
0491DD1E24B5604300DF40C7 /* icon_barrage_color_05_select@3x.png in Resources */,
0491DCF724B5604300DF40C7 /* icon_barrage_set_close@2x.png in Resources */,
04B0CBE624EA66BC004222DC /* icon_setting_inpact_normal@2x.png in Resources */,
04EB6605226DC94E00FAB532 /* icon_ad_full_select.png in Resources */,
04AB4A3022B1F22A00BB9BF9 /* icon_exercises_answer_a_select@2x.png in Resources */,
0491DD1824B5604300DF40C7 /* icon_barrage_color_08@2x.png in Resources */,
......@@ -1963,6 +1981,7 @@
0491DCEB24B5604300DF40C7 /* icon_barrage_color_07@3x.png in Resources */,
0491DCF924B5604300DF40C7 /* icon_barrage_set_close@3x.png in Resources */,
04EB65CD226D6A6000FAB532 /* icon_setting_dwonload@2x.png in Resources */,
04B0CBE724EA66BC004222DC /* icon_setting_inpact_select@3x.png in Resources */,
0491DD2624B5604300DF40C7 /* icon_barrage_color_07@2x.png in Resources */,
04AB4A2A22B1F22A00BB9BF9 /* icon_exercises_answer_e_select@3x.png in Resources */,
04344222225F133C003F7EC1 /* icon_download@2x.png in Resources */,
......@@ -2073,6 +2092,7 @@
04FFA9E122647579008C2713 /* icon_play_locked_normal@3x.png in Resources */,
0491DCF124B5604300DF40C7 /* icon_barrage_close@2x.png in Resources */,
04FFA9F422647C84008C2713 /* icon_play_gif_disable@2x.png in Resources */,
04B0CBE524EA66BC004222DC /* icon_setting_inpact_normal@3x.png in Resources */,
04AB4A3C22B1F22A00BB9BF9 /* icon_exercises_answer_h_select@3x.png in Resources */,
04DBAC63228A6C8F000EE850 /* icon_placeholder@2x.png in Resources */,
04CD12022292AF26000C6F0C /* icon_player_func_top_bg@2x.png in Resources */,
......@@ -2085,6 +2105,7 @@
04FFA9E522647579008C2713 /* icon_pause@3x.png in Resources */,
04AB4A4622B1F22A00BB9BF9 /* icon_exercises_answer_b_normal@2x.png in Resources */,
04E9E98122D583E100461F4B /* icon_screen_airplay_bg@3x.png in Resources */,
04B0CBE424EA66BC004222DC /* icon_setting_inpact_select@2x.png in Resources */,
04AB4A2922B1F22A00BB9BF9 /* icon_exercises_answer_b_normal@3x.png in Resources */,
04EB65DA226D9B6200FAB532 /* icon_setting_light_low@3x.png in Resources */,
043D4E6C22D5C91D00FCDCBE /* icon_sound_sub@3x.png in Resources */,
......@@ -2235,6 +2256,7 @@
047CE82822B8DBD500D87AAF /* DWExercisesAlertView.m in Sources */,
04BAA94322D48CA9000495B4 /* DWScreeningTableViewCell.m in Sources */,
0434436E225F1F07003F7EC1 /* SDImageCodersManager.m in Sources */,
04B0CBEA24EBA2E3004222DC /* DWImpactRemindView.m in Sources */,
0434437E225F1F07003F7EC1 /* SDInternalMacros.m in Sources */,
049FF095225EEEA700D944C5 /* NSObject+MJKeyValue.m in Sources */,
04344395225F1F07003F7EC1 /* UIImage+Metadata.m in Sources */,
......
......@@ -94,7 +94,7 @@
-(void)reloadLoaclData
{
//请自行替换数据
NSArray * videos = @[];
NSArray * videos = @[@""];
for (int i = 0; i < videos.count; i++) {
DWVodModel * vodModel = [[DWVodModel alloc]init];
......@@ -200,7 +200,7 @@
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
{
DWVodModel * vodModel = [self.videoList objectAtIndex:indexPath.row];
DWVodPlayViewController * vodPlayVC = [[DWVodPlayViewController alloc]init];
vodPlayVC.vodModel = vodModel;
......
//
// DWImpactRemindView.h
// Demo
//
// Created by zwl on 2020/8/18.
// Copyright © 2020 com.bokecc.www. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface DWImpactRemindView : UIView
-(void)show;
@end
NS_ASSUME_NONNULL_END
//
// DWImpactRemindView.m
// Demo
//
// Created by zwl on 2020/8/18.
// Copyright © 2020 com.bokecc.www. All rights reserved.
//
#import "DWImpactRemindView.h"
@interface DWImpactRemindView ()
@property(nonatomic,strong)UILabel * label;
@end
@implementation DWImpactRemindView
- (instancetype)init
{
self = [super init];
if (self) {
self.hidden = YES;
self.backgroundColor = [UIColor colorWithRed:51/255.0 green:51/255.0 blue:51/255.0 alpha:0.9];
self.layer.masksToBounds = YES;
self.layer.cornerRadius = 3;
self.label = [[UILabel alloc]init];
self.label.text = @"前方高能预警";
self.label.font = TitleFont(14);
self.label.textColor = [UIColor whiteColor];
self.label.textAlignment = NSTextAlignmentCenter;
[self addSubview:self.label];
[self.label mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
}
return self;
}
-(void)show
{
if (!self.hidden) {
return;
}
self.hidden = NO;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.8 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self) {
self.hidden = YES;
}
});
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end
......@@ -41,6 +41,8 @@ typedef NS_ENUM(NSInteger, DWVodSettingStyle) {
-(void)playerSettingViewSoundChange:(CGFloat)changeValue;
//窗口播放
-(void)playerSettingWindowsPlay;
//动感开关
-(void)playerSettingViewImpactSelect:(BOOL)isSelect;
@end
......@@ -57,7 +59,7 @@ typedef NS_ENUM(NSInteger, DWVodSettingStyle) {
-(void)setTableList:(NSArray *)listArray;
//设置total数据
-(void)setTotalMediaType:(BOOL)isVideo SizeList:(NSArray *)sizeList SubtitleList:(NSArray *)subTitleList DefaultLight:(CGFloat)light AndDefaultSound:(CGFloat)sound;
-(void)setTotalMediaType:(BOOL)isVideo SizeList:(NSArray *)sizeList SubtitleList:(NSArray *)subTitleList DefaultLight:(CGFloat)light DefaultSound:(CGFloat)sound AndDeafultImpact:(BOOL)impact;
-(void)show;
......
......@@ -78,7 +78,7 @@ static NSInteger setSectionListTableHeight = 60;
[self.listTableView reloadData];
}
-(void)setTotalMediaType:(BOOL)isVideo SizeList:(NSArray *)sizeList SubtitleList:(NSArray *)subTitleList DefaultLight:(CGFloat)light AndDefaultSound:(CGFloat)sound
-(void)setTotalMediaType:(BOOL)isVideo SizeList:(NSArray *)sizeList SubtitleList:(NSArray *)subTitleList DefaultLight:(CGFloat)light DefaultSound:(CGFloat)sound AndDeafultImpact:(BOOL)impact
{
if (self.style != DWVodSettingStyleTotal) {
return;
......@@ -87,6 +87,10 @@ static NSInteger setSectionListTableHeight = 60;
DWSettingFuncButton * mediaTypeButton = (DWSettingFuncButton *)[self.bgScrollView viewWithTag:102];
mediaTypeButton.selected = isVideo;
//动感开关
DWSettingFuncButton * impactButton = (DWSettingFuncButton *)[self.bgScrollView viewWithTag:105];
impactButton.selected = impact;
self.sizeArray = sizeList;
CGFloat buttonWidth = self.bgView.frame.size.width / 4.0;
for (int i = 0; i < self.sizeArray.count; i++) {
......@@ -208,6 +212,14 @@ static NSInteger setSectionListTableHeight = 60;
[_delegate playerSettingWindowsPlay];
}
}
if (button.tag == 105) {
//动感开关,默认开启
button.selected = !button.selected;
if ([_delegate respondsToSelector:@selector(playerSettingViewImpactSelect:)]) {
[_delegate playerSettingViewImpactSelect:button.selected];
}
}
}
-(void)sizeButtonAction:(UIButton *)button
......@@ -363,14 +375,24 @@ static NSInteger setSectionListTableHeight = 60;
self.bgScrollView.frame = CGRectMake(0, 0, self.bgView.frame.size.width, self.bgView.frame.size.height);
[self.bgView addSubview:self.bgScrollView];
NSArray * titles = @[@"下载",@"投屏",@"视频播放",@"网络检测",@"小窗播放"];
NSArray * images = @[@"icon_setting_dwonload.png",@"icon_screen_horizontal.png",@"icon_setting_video.png",@"icon_setting_network.png",@"icon_windows_full.png"];
// IS_PAD
NSArray * titles = nil;
NSArray * images = nil;
if (IS_PAD) {
titles = @[@"下载",@"投屏",@"视频播放",@"网络检测",@"小窗播放"];
images = @[@"icon_setting_dwonload.png",@"icon_screen_horizontal.png",@"icon_setting_video.png",@"icon_setting_network.png",@"icon_windows_full.png"];
}else{
titles = @[@"下载",@"投屏",@"视频播放",@"网络检测",@"小窗播放",@"动感开关"];
images = @[@"icon_setting_dwonload.png",@"icon_screen_horizontal.png",@"icon_setting_video.png",@"icon_setting_network.png",@"icon_windows_full.png",@"icon_setting_inpact_normal.png"];
}
CGFloat buttonWidth = 48.0;
CGFloat space = 18;
UIScrollView * scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.bgView.frame.size.width, 46)];
UIScrollView * scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, self.bgView.frame.size.width, 46)];
scrollView.contentSize = CGSizeMake(buttonWidth * titles.count + space * (titles.count - 1) + 20, CGRectGetHeight(scrollView.frame));
scrollView.showsVerticalScrollIndicator = NO;
scrollView.showsHorizontalScrollIndicator = NO;
[self.bgScrollView addSubview:scrollView];
for (int i = 0; i < titles.count; i++) {
......@@ -383,6 +405,12 @@ static NSInteger setSectionListTableHeight = 60;
[button setTitle:@"音频播放" forState:UIControlStateSelected];
[button setImage:[UIImage imageNamed:@"icon_setting_radio.png"] forState:UIControlStateSelected];
}
if (i == 5) {
[button setImage:[UIImage imageNamed:@"icon_setting_inpact_select.png"] forState:UIControlStateSelected];
//默认开启
button.selected = YES;
}
button.titleLabel.textAlignment = NSTextAlignmentCenter;
button.titleLabel.font = TitleFont(12);
[button setTitleColor:[UIColor colorWithRed:255/255.0 green:255/255.0 blue:255/255.0 alpha:0.7] forState:UIControlStateNormal];
......
......@@ -31,6 +31,7 @@
#import "DWBarrageBgView.h"
#import "DWBarrageTextDescriptor.h"
#import "DWBarrageTextCell.h"
#import "DWImpactRemindView.h"
@interface DWVodPlayerView ()<DWVideoPlayerDelegate,DWPlayerSettingViewDelegate,DWGifRecordFinishViewDelegate,DWVisitorCollectViewDelegate,DWExercisesAlertViewDelegate,DWExercisesViewDelegate,AVPictureInPictureControllerDelegate,DWVodPlayerPanGestureDelegate,DWBarrageManagerDelegate,DWBarrageBgViewDelegate>
......@@ -61,6 +62,9 @@
//是否开启画中画,仅对pad有效
@property(nonatomic,assign)BOOL allowPictureInPicture;
//是否开启动感视频,默认YES
@property(nonatomic,assign)BOOL allowImpact;
@property(nonatomic,assign)UIEdgeInsets areaInsets;
@property(nonatomic,assign)BOOL isFull;
@property(nonatomic,assign)BOOL isVideo;//当前播放模式 视频 / 音频
......@@ -200,6 +204,9 @@
//承载弹幕
@property(nonatomic,strong)OCBarrageManager * barrage;
//**************************** 动感视频 ****************************
@property(nonatomic,strong)DWImpactRemindView * impactRemindView;
@end
@implementation DWVodPlayerView
......@@ -235,6 +242,8 @@ static CGFloat barrageBgHeight = 40;
//是否开启画中画
self.allowPictureInPicture = NO;
self.allowImpact = [[[NSUserDefaults standardUserDefaults] objectForKey:@"allowImpact"] boolValue];
self.backgroundColor = [UIColor blackColor];
[self initMaskView];
......@@ -318,6 +327,8 @@ static CGFloat barrageBgHeight = 40;
// _hud.label.text = @"努力加载中,请稍后";
self.downloadModel = nil;
[self clearVideoMark];
[self showHudWithMessage:@"努力加载中,请稍后"];
self.readyToPlay = NO;
......@@ -1739,7 +1750,9 @@ static CGFloat barrageBgHeight = 40;
{
self.settingView = [[DWPlayerSettingView alloc]initWithStyle:DWVodSettingStyleTotal];
self.settingView.delegate = self;
[self.settingView setTotalMediaType:self.isVideo SizeList:self.sizeArray SubtitleList:self.subTitleArray DefaultLight:self.screenLight AndDefaultSound:self.systemSound];
[self.settingView setTotalMediaType:self.isVideo SizeList:self.sizeArray SubtitleList:self.subTitleArray DefaultLight:self.screenLight DefaultSound:self.systemSound AndDeafultImpact:self.allowImpact];
[self.settingView show];
}
......@@ -2096,7 +2109,7 @@ static CGFloat barrageBgHeight = 40;
{
//!!!demo中,只有横屏会显示打点,这里frame只是示例,自己项目根据业务需求做调整
if (self.isFull && self.isVideo) {
[videomarks enumerateObjectsUsingBlock:^(DWVideoMarkModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
CGFloat duration = CMTimeGetSeconds([self.playerView.player.currentItem duration]);
CGFloat sliderWidth = self.sliderWidth;
......@@ -2189,6 +2202,16 @@ static CGFloat barrageBgHeight = 40;
[self showVideoMarkCurrentValue:tapValue videoDuration:duration];
}
//清理打点数据
-(void)clearVideoMark
{
self.videomarkArray = nil;
for (UIButton * markButton in self.markButtonArray) {
[markButton removeFromSuperview];
}
[self.markButtonArray removeAllObjects];
}
#pragma mark - 视频问答功能
- (void)showQuestionsView:(float)time
{
......@@ -2913,6 +2936,37 @@ static CGFloat barrageBgHeight = 40;
[self.barrage renderBarrageDescriptor:textDescriptor];
}
#pragma mark - 动感视频
//触发震动,提示文字
-(void)showImpactView:(CGFloat)time
{
if (IS_PAD) {
return;
}
if (!self.allowImpact) {
return;
}
if (!self.videoModel) {
return;
}
if (!self.impactRemindView) {
return;
}
//判断是否有视频打点,触发震动及提示文字
for (DWVideoMarkModel * videoMarkModel in self.videomarkArray) {
if (videoMarkModel.marktime == (NSInteger)time) {
//触发提示文字
[self.impactRemindView show];
//触发震动反馈效果
[self.playerView shockFeedback];
break;
}
}
}
#pragma mark - DWPlayerSettingViewDelegate
-(void)playerSettingViewStyle:(DWVodSettingStyle)style AndSelectIndex:(NSInteger)selectIndex
......@@ -3107,6 +3161,15 @@ static CGFloat barrageBgHeight = 40;
self.systemSound = changeValue;
}
//动感开关
-(void)playerSettingViewImpactSelect:(BOOL)isSelect
{
self.allowImpact = isSelect;
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:self.allowImpact] forKey:@"allowImpact"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
#pragma mark - DWVideoPlayerDelegate
// 可播放
- (void)videoPlayerIsReadyToPlayVideo:(DWPlayerView *)playerView
......@@ -3194,6 +3257,9 @@ static CGFloat barrageBgHeight = 40;
//课堂练习
[self showExercisesAlertView:time];
//动感视频
[self showImpactView:time];
self.exercisesLastScrubTime = time;
//拖拽时,禁止刷新进度信息
......@@ -4314,6 +4380,22 @@ static CGFloat barrageBgHeight = 40;
return _barrageBgView;
}
-(DWImpactRemindView *)impactRemindView
{
if (!_impactRemindView) {
_impactRemindView = [[DWImpactRemindView alloc]init];
[self.playerView addSubview:_impactRemindView];
[_impactRemindView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.playerView);
make.bottom.equalTo(@(-75));
make.width.equalTo(@134);
make.height.equalTo(@39);
}];
}
return _impactRemindView;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
......
......@@ -41,6 +41,12 @@
// [DWDownloadSessionManager manager].maxDownloadCount = 2;
// [DWDownloadSessionManager manager].isBatchDownload = NO;
//动感视频默认设置
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"allowImpact"]) {
[[NSUserDefaults standardUserDefaults] setValue:@YES forKey:@"allowImpact"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
......
//版本号
#define SDK_VERSION @"4.8.0"
#define SDK_VERSION @"4.8.1"
#import <CCVodSDK/DWGIFManager.h>
#import <CCVodSDK/DWAdInfo.h>
......
//版本号
#define SDK_VERSION @"4.8.0"
#define SDK_VERSION @"4.8.1"
#import <CCVodSDK/DWGIFManager.h>
#import <CCVodSDK/DWAdInfo.h>
......
......@@ -340,6 +340,13 @@ typedef NS_ENUM(NSUInteger, DWPlayerViewLoadStyle) {
*/
-(void)removeTimer;
/*!
* @method
* @abstract 触发一次震动
* @discussion 触发一次震动
*/