package com.ycl.api.YS.ptz.basicptz; import com.ycl.api.YS.NetDemo; import com.ycl.api.YS.ptz.ptzextend.Preset; import com.ycl.api.YS.util.Common; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_PTZ_ALLPRESETS_S; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_PTZ_PRESETCMD_E; import javax.swing.*; import java.util.Vector; /** * * @description Preset operation includes acquiring preset, turning to preset,setting preset and deleting preset * */ public class PresetPTZ { /** * @introduction Get PTZ preset location */ public static void getPTZPreset() { if(null == NetDemo.lpUserID) { JOptionPane.showMessageDialog(null, "Please Login device first.error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } NetDemo.PTZBasePresetModel.setRowCount(0); /* Create PTZ preset structure */ NETDEV_PTZ_ALLPRESETS_S stPtzPresets = new NETDEV_PTZ_ALLPRESETS_S(); /* Get PTZ preset location list */ boolean bRet = NetDemo.netdevsdk.NETDEV_GetPTZPresetList(NetDemo.lpUserID, NetDemo.ChannelID, stPtzPresets); if(bRet != true) { JOptionPane.showMessageDialog(null, "Get data failed,maybe not support,error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_GetPTZPresetList failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; } else { for(int i = 0; i < stPtzPresets.dwSize; i++) { Vector vector = new Vector(); vector.add(String.valueOf(stPtzPresets.astPreset[i].dwPresetID)); vector.add(Common.byteArrayToString(stPtzPresets.astPreset[i].szPresetName)); NetDemo.PTZBasePresetModel.insertRow(i,vector); } } } /** * @introduction Go to preset location */ public static void gotoPTZPreset() { if(null == NetDemo.lpUserID) { JOptionPane.showMessageDialog(null, "Please Login device first.error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0) { JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } if(0 == NetDemo.PTZBasePresetModel.getRowCount() || NetDemo.jTablePTZBasePreset.getSelectedRow() < 0) { JOptionPane.showMessageDialog(null, "Please find Preset or seletc Preset first."); return; } else { String strPresetID = (String) NetDemo.jTablePTZBasePreset.getValueAt(NetDemo.jTablePTZBasePreset.getSelectedRow(), 0); if(strPresetID==null||strPresetID.equals("")) { JOptionPane.showMessageDialog(null, "PresetID is null"); return; } int PresetID=0; try { PresetID=Integer.parseInt(strPresetID); }catch(Exception m) { JOptionPane.showMessageDialog(null, "PresetID is error"); return; } String strPresetNameString = ""; /* PTZ preset operation(Do not need to start preview) */ boolean bRet = NetDemo.netdevsdk.NETDEV_PTZPreset_Other(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_PTZ_PRESETCMD_E.NETDEV_PTZ_GOTO_PRESET, strPresetNameString,PresetID); if(bRet != true) { JOptionPane.showMessageDialog(null, " failed,maybe not support,error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_PTZPreset_Other failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; } } } /** * @introduction Set preset location * @description It is mainly initialized by the constructor of the Preset class. */ public static void addPTZPreset() { if(null == NetDemo.lpUserID) { JOptionPane.showMessageDialog(null, "Please Login device first.error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0) { JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } Preset p = new Preset(); p.setVisible(true); } /** * @introduction Delete preset location * @description */ public static void deletePTZPreset() { if(null == NetDemo.lpUserID) { JOptionPane.showMessageDialog(null, "Please Login device first. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0) { JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } if(0 == NetDemo.PTZBasePresetModel.getRowCount() || NetDemo.jTablePTZBasePreset.getSelectedRow() < 0) { JOptionPane.showMessageDialog(null, "Please find Preset or seletc Preset first."); return; } else { String strPresetID = (String) NetDemo.jTablePTZBasePreset.getValueAt(NetDemo.jTablePTZBasePreset.getSelectedRow(), 0); int PresetID=0; try { PresetID=Integer.parseInt(strPresetID); }catch(Exception m) { JOptionPane.showMessageDialog(null, "PresetID is error"); return; } String strPresetNameString = ""; boolean bRet = NetDemo.netdevsdk.NETDEV_PTZPreset_Other(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_PTZ_PRESETCMD_E.NETDEV_PTZ_CLE_PRESET, strPresetNameString, PresetID); if(bRet != true) { JOptionPane.showMessageDialog(null, " Failed,maybe not support,error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_PTZPreset_Other failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; } NetDemo.jButtonGetBasePTZPreset.doClick(); } } }