1
zhanghua
2024-09-26 c775c6953d9759e70f08acbfa8f6d7490aaae3d1
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
package com.netsdk.demo.customize;
 
import com.netsdk.demo.util.CaseMenu;
import com.netsdk.lib.NetSDKLib;
import com.netsdk.lib.ToolKits;
import com.netsdk.lib.structure.CFG_VIDEO_IN_FOCUS;
import com.netsdk.lib.structure.CFG_VIDEO_IN_FOCUS_UNIT;
import com.netsdk.lib.utils.Initialization;
 
/**
 * @author 291189
 * @version 1.0
 * @description ERR221028089 
 * @date 2022/11/1 11:05
 */
public class VideoinFocusDemo extends Initialization {
 
/**
 * 聚焦设置
 */
public void videoFocus() {
 
    int chanl=0;
    CFG_VIDEO_IN_FOCUS focus=new CFG_VIDEO_IN_FOCUS();
 
    boolean b
            = ToolKits.GetDevConfig(loginHandle, chanl, NetSDKLib.CFG_CMD_VIDEOIN_FOCUS, focus);
    if (!b) {
        System.err.println("CFG_CMD_VIDEOIN_FOCUS GetDevConfig Failed." + ToolKits.getErrorCode());
        return;
    }else {
        System.out.println("CFG_CMD_VIDEOIN_FOCUS  GetDevConfig success");
    }
    /**
     通道号
     */
    System.out.println("nChannelIndex:"+focus.nChannelIndex);
    /**
     配置使用个数
     */
    int nVideoInFocusRealNum
            = focus.nVideoInFocusRealNum;
 
    System.out.println("nVideoInFocusRealNum:"+nVideoInFocusRealNum);
    CFG_VIDEO_IN_FOCUS_UNIT[] stVideoInFocusUnit
            = focus.stVideoInFocusUnit;
 
    for(int i=0;i<nVideoInFocusRealNum;i++){
        CFG_VIDEO_IN_FOCUS_UNIT focus_unit
                = stVideoInFocusUnit[i];
 
 
        System.out.println("nMode:"+focus_unit.nMode);
 
        System.out.println("nSensitivity:"+focus_unit.nSensitivity);
 
        System.out.println("nIRCorrection:"+focus_unit.nIRCorrection);
 
        System.out.println("emFocusMode:"+focus_unit.emFocusMode);
 
        System.out.println("nFocusLimit:"+focus_unit.nFocusLimit);
 
    }
 
 
    CFG_VIDEO_IN_FOCUS_UNIT focus_unit = focus.stVideoInFocusUnit[0];
    /**
     聚焦模式, 0-关闭, 1-辅助聚焦, 2-自动聚焦, 3-半自动聚焦, 4-手动聚焦
     */
    focus_unit.nMode=1;
    /**
     聚焦灵敏度, 0-高, 1-默认, 2-低
     */
    focus_unit.nSensitivity=2;
    /**
     红外光聚焦修正, 0-不修正, 1-修正, 2-自动修正
     */
    focus_unit.nIRCorrection=1;
    /**
     聚焦极限值, 单位毫米
     */
    focus_unit.nFocusLimit=100;
 
     b = ToolKits.SetDevConfig(loginHandle, chanl, NetSDKLib.CFG_CMD_VIDEOIN_FOCUS, focus);
    if (!b) {
        System.err.println("CFG_CMD_VIDEOIN_FOCUS SetDevConfig Failed." + ToolKits.getErrorCode());
        return;
    }else {
        System.out.println("CFG_CMD_VIDEOIN_FOCUS SetDevConfig success");
    }
 
}
 
 
    /**
     * 云台通道变倍配置
     */
    public void videoZoom() {
 
        int chanl=0;
 
        NetSDKLib.CFG_VIDEO_IN_ZOOM zoom=new NetSDKLib.CFG_VIDEO_IN_ZOOM();
 
        boolean b = ToolKits.GetDevConfig(loginHandle, chanl, NetSDKLib.CFG_CMD_VIDEO_IN_ZOOM, zoom);
 
        if (!b) {
            System.err.println("CFG_CMD_VIDEO_IN_ZOOM GetDevConfig Failed." + ToolKits.getErrorCode());
            return;
        }else {
            System.out.println("CFG_CMD_VIDEO_IN_ZOOM  GetDevConfig success");
        }
 
        System.out.println("nChannelIndex:"+zoom.nChannelIndex);
 
        int nVideoInZoomRealNum = zoom.nVideoInZoomRealNum;
 
        System.out.println("nVideoInZoomRealNum:"+nVideoInZoomRealNum);
 
        NetSDKLib.CFG_VIDEO_IN_ZOOM_UNIT[] stVideoInZoomUnit= zoom.stVideoInZoomUnit;
 
 
        for(int i=0;i<nVideoInZoomRealNum;i++){
            NetSDKLib.CFG_VIDEO_IN_ZOOM_UNIT zoom_unit = stVideoInZoomUnit[i];
            //变倍速率(0~7)
            System.out.println("nSpeed:"+zoom_unit.nSpeed);
            //是否数字变倍, 类型为BOOL, 取值0或者1
            System.out.println("bDigitalZoom:"+zoom_unit.bDigitalZoom);
            //当前速率下最大变倍上限(0~13)
            System.out.println("nZoomLimit:"+zoom_unit.nZoomLimit);
            //光照场景名称 EM_LIGHT_SCENE
            /**
             * {@link com.netsdk.lib.NetSDKLib.EM_LIGHT_SCENE}
             */
            System.out.println("emLightScene:"+zoom_unit.emLightScene);
        }
 
        NetSDKLib.CFG_VIDEO_IN_ZOOM_UNIT cfg_zoom_unit
                = stVideoInZoomUnit[0];
        cfg_zoom_unit.nSpeed=2;
 
        cfg_zoom_unit.bDigitalZoom=1;
 
        cfg_zoom_unit.nZoomLimit=5;
 
        cfg_zoom_unit.emLightScene=1;
 
 
        b = ToolKits.SetDevConfig(loginHandle, chanl, NetSDKLib.CFG_CMD_VIDEO_IN_ZOOM, zoom);
        if (!b) {
            System.err.println("CFG_CMD_VIDEOIN_FOCUS SetDevConfig Failed." + ToolKits.getErrorCode());
            return;
        }else {
            System.out.println("CFG_CMD_VIDEOIN_FOCUS SetDevConfig success");
        }
 
    }
 
 
    public void RunTest()
    {
        System.out.println("Run Test");
        CaseMenu menu = new CaseMenu();
        menu.addItem(new CaseMenu.Item(this , "聚焦设置" , "videoFocus"));
 
        menu.addItem(new CaseMenu.Item(this , "云台通道变倍配置" , "videoZoom"));
 
        menu.run();
    }
 
 
    private static String ipAddr             = "10.35.249.231";
    private static int    port                 = 37777;
    private static String user                 = "admin";
    private static String password             = "admin123";
 
    public static void main(String[] args){
        InitTest(ipAddr, port, user, password);
        VideoinFocusDemo videoinFocusDemo=new VideoinFocusDemo();
        videoinFocusDemo.RunTest();
        LoginOut();
    }
 
}