Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
CCVideo
VOD_iOS_SDK
Commits
24e22896
Commit
24e22896
authored
Aug 25, 2020
by
Hanruisong
Browse files
升级到 4.8.1
1.新增动感视频功能
parent
a71909f8
Changes
36
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
260 additions
and
28 deletions
+260
-28
.DS_Store
.DS_Store
+0
-0
Demo/Demo.xcodeproj/project.pbxproj
Demo/Demo.xcodeproj/project.pbxproj
+38
-16
Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/appa.xcuserdatad/UserInterfaceState.xcuserstate
...cuserdata/appa.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
...xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
Demo/Demo/Classes/DWMainViewController.m
Demo/Demo/Classes/DWMainViewController.m
+2
-2
Demo/Demo/Classes/View/Others/DWImpactRemindView.h
Demo/Demo/Classes/View/Others/DWImpactRemindView.h
+19
-0
Demo/Demo/Classes/View/Others/DWImpactRemindView.m
Demo/Demo/Classes/View/Others/DWImpactRemindView.m
+66
-0
Demo/Demo/Classes/View/Player/DWPlayerSettingView.h
Demo/Demo/Classes/View/Player/DWPlayerSettingView.h
+3
-1
Demo/Demo/Classes/View/Player/DWPlayerSettingView.m
Demo/Demo/Classes/View/Player/DWPlayerSettingView.m
+33
-5
Demo/Demo/Classes/View/Player/DWVodPlayerView.m
Demo/Demo/Classes/View/Player/DWVodPlayerView.m
+84
-2
Demo/Demo/DWAppDelegate.m
Demo/Demo/DWAppDelegate.m
+6
-0
Demo/Demo/Images/icon_setting_inpact_normal@2x.png
Demo/Demo/Images/icon_setting_inpact_normal@2x.png
+0
-0
Demo/Demo/Images/icon_setting_inpact_normal@3x.png
Demo/Demo/Images/icon_setting_inpact_normal@3x.png
+0
-0
Demo/Demo/Images/icon_setting_inpact_select@2x.png
Demo/Demo/Images/icon_setting_inpact_select@2x.png
+0
-0
Demo/Demo/Images/icon_setting_inpact_select@3x.png
Demo/Demo/Images/icon_setting_inpact_select@3x.png
+0
-0
Demo/Demo/SDK/CCVodSDK.framework/CCVodSDK
Demo/Demo/SDK/CCVodSDK.framework/CCVodSDK
+0
-0
Demo/Demo/SDK/CCVodSDK.framework/CCVodSDK.h
Demo/Demo/SDK/CCVodSDK.framework/CCVodSDK.h
+1
-1
Demo/Demo/SDK/CCVodSDK.framework/Headers/CCVodSDK.h
Demo/Demo/SDK/CCVodSDK.framework/Headers/CCVodSDK.h
+1
-1
Demo/Demo/SDK/CCVodSDK.framework/Headers/DWPlayerView.h
Demo/Demo/SDK/CCVodSDK.framework/Headers/DWPlayerView.h
+7
-0
Demo/Demo/SDK/CCVodSDK.framework/Info.plist
Demo/Demo/SDK/CCVodSDK.framework/Info.plist
+0
-0
No files found.
.DS_Store
View file @
24e22896
No preview for this file type
Demo/Demo.xcodeproj/project.pbxproj
View file @
24e22896
...
...
@@ -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 */
,
...
...
Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/appa.xcuserdatad/UserInterfaceState.xcuserstate
0 → 100644
View file @
24e22896
File added
Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
View file @
24e22896
No preview for this file type
Demo/Demo/Classes/DWMainViewController.m
View file @
24e22896
...
...
@@ -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
;
...
...
Demo/Demo/Classes/View/Others/DWImpactRemindView.h
0 → 100644
View file @
24e22896
//
// 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
Demo/Demo/Classes/View/Others/DWImpactRemindView.m
0 → 100644
View file @
24e22896
//
// 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
Demo/Demo/Classes/View/Player/DWPlayerSettingView.h
View file @
24e22896
...
...
@@ -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
And
DefaultSound
:(
CGFloat
)
sound
;
-
(
void
)
setTotalMediaType
:(
BOOL
)
isVideo
SizeList
:(
NSArray
*
)
sizeList
SubtitleList
:(
NSArray
*
)
subTitleList
DefaultLight
:(
CGFloat
)
light
DefaultSound
:(
CGFloat
)
sound
AndDeafultImpact
:(
BOOL
)
impact
;
-
(
void
)
show
;
...
...
Demo/Demo/Classes/View/Player/DWPlayerSettingView.m
View file @
24e22896
...
...
@@ -78,7 +78,7 @@ static NSInteger setSectionListTableHeight = 60;
[
self
.
listTableView
reloadData
];
}
-
(
void
)
setTotalMediaType
:(
BOOL
)
isVideo
SizeList
:(
NSArray
*
)
sizeList
SubtitleList
:(
NSArray
*
)
subTitleList
DefaultLight
:(
CGFloat
)
light
And
DefaultSound
:(
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
,
2
0
,
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
];
...
...
Demo/Demo/Classes/View/Player/DWVodPlayerView.m
View file @
24e22896
...
...
@@ -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.
...
...
Demo/Demo/DWAppDelegate.m
View file @
24e22896
...
...
@@ -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
];
...
...
Demo/Demo/Images/icon_setting_inpact_normal@2x.png
0 → 100644
View file @
24e22896
1000 Bytes
Demo/Demo/Images/icon_setting_inpact_normal@3x.png
0 → 100644
View file @
24e22896
1.3 KB
Demo/Demo/Images/icon_setting_inpact_select@2x.png
0 → 100644
View file @
24e22896
1.21 KB
Demo/Demo/Images/icon_setting_inpact_select@3x.png
0 → 100644
View file @
24e22896
1.73 KB
Demo/Demo/SDK/CCVodSDK.framework/CCVodSDK
View file @
24e22896
No preview for this file type
Demo/Demo/SDK/CCVodSDK.framework/CCVodSDK.h
View file @
24e22896
//版本号
#define SDK_VERSION @"4.8.
0
"
#define SDK_VERSION @"4.8.
1
"
#import <CCVodSDK/DWGIFManager.h>
#import <CCVodSDK/DWAdInfo.h>
...
...
Demo/Demo/SDK/CCVodSDK.framework/Headers/CCVodSDK.h
View file @
24e22896
//版本号
#define SDK_VERSION @"4.8.
0
"
#define SDK_VERSION @"4.8.
1
"
#import <CCVodSDK/DWGIFManager.h>
#import <CCVodSDK/DWAdInfo.h>
...
...
Demo/Demo/SDK/CCVodSDK.framework/Headers/DWPlayerView.h
View file @
24e22896
...
...
@@ -340,6 +340,13 @@ typedef NS_ENUM(NSUInteger, DWPlayerViewLoadStyle) {
*/
-
(
void
)
removeTimer
;
/*!
* @method
* @abstract 触发一次震动
* @discussion 触发一次震动
*/