JLChen
2021-11-04 1443556e9ccb1a19ed8e6710c16c8adc4d4f4fb3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
//
//  Copyright © 2019 dahua. All rights reserved.
//
 
 
#import <LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_PlayWindow.h>
#import <LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_AudioTalk.h>
#import <LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_EventListener.h>
#import <LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_TalkerListener.h>
#import "LCLivePreviewViewController.h"
#import "UIDevice+LeChange.h"
#import "LCDeviceVideoManager.h"
 
 
 
NS_ASSUME_NONNULL_BEGIN
 
typedef void (^ItemHandle)(LCButton * btn);
 
typedef enum : NSUInteger {
    LCLivePreviewControlPlay,///播放/暂停
    LCLivePreviewControlClarity,///清晰度
    LCLivePreviewControlVoice,///音频
    LCLivePreviewControlFullScreen,///全屏
    LCLivePreviewControlPTZ,///云台
    LCLivePreviewControlSnap,///截图
    LCLivePreviewControlAudio,///对讲
    LCLivePreviewControlPVR,///录制
    LCLivePreviewControlAlarm,///警笛
    LCLivePreviewControlLight///白光灯
} LCLivePreviewControlType;
 
@interface LCLivePreviewControlItem : NSObject
 
/// title
@property (strong, nonatomic) NSString *title;
 
/// image
@property (strong, nonatomic) NSString *imageName;
 
/// Selectimage
@property (strong, nonatomic) NSString *imageNameSelect;
 
/// type
@property (nonatomic) LCLivePreviewControlType type;
 
/// 权重(数值越小越靠前)
@property (nonatomic) NSUInteger weight;
 
/// handle
@property (copy, nonatomic) ItemHandle handle;
 
///// control
@property (strong, nonatomic) LCButton * btn;
 
/// info
@property (strong, nonatomic) id userInfo;
 
@end
 
 
@interface LCLivePreviewPresenter : LCBasicPresenter
 
 
/// 播放器
@property (strong, nonatomic) LCOpenSDK_PlayWindow * playWindow;
 
///对讲
@property (strong, nonatomic) LCOpenSDK_AudioTalk *talker;
 
///录像文件列表
@property (strong, nonatomic) NSMutableArray *videotapeList;
 
/// 视频播放管理者
@property (weak, nonatomic) LCDeviceVideoManager *videoManager;
 
/// 重播按钮
@property (strong, nonatomic) LCButton *bigPlayBtn;
 
/// 加载等待框
@property (strong, nonatomic) UIImageView *loadImageview;
 
/// 容器
@property (weak, nonatomic) LCLivePreviewViewController *liveContainer;
 
///// control
@property (strong, nonatomic) LCButton * errorBtn;
 
///errorMSG
@property (strong, nonatomic) UILabel * errorMsgLab;
 
/// defaultImageView
@property (strong, nonatomic) UIImageView *defaultImageView;
 
 
//MARK: - Public Methods
 
/**
 获取中间控制视图的子模块
 
 @return 子模块列表
 */
-(NSMutableArray *)getMiddleControlItems;
 
/**
 获取底部控制视图的子模块
 
 @return 子模块列表
 */
-(NSMutableArray *)getBottomControlItems;
 
/**
 云台控制
 
 @param direction 云台方向
 */
-(void)ptzControlWith:(NSString *)direction Duration:(NSTimeInterval)duration;
 
/**
 获取录像历史记录列表
 */
-(UIView *)getVideotapeView;
 
/**
 展示视频等待框
 */
-(void)showVideoLoadImage;
/**
隐藏视频等待框
*/
-(void)hideVideoLoadImage;
 
//MARK: - Public Methods
 
 
/**
 进入前台处理
 */
-(void)onActive:(id)sender;
 
/**
 进入后台处理
 */
-(void)onResignActive:(id)sender;
 
/**
弹出输入密码弹窗
*/
-(void)showPSKAlert;
 
-(void)showPlayBtn;
 
-(void)hidePlayBtn;
 
-(void)showErrorBtn;
 
-(void)hideErrorBtn;
 
-(void)configBigPlay;
 
@end
 
NS_ASSUME_NONNULL_END