⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_unit.pas

📁 视频采集卡sdk-2
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit main_unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Spin, ComCtrls, HikServer32, Buttons, ShellAPI;

type
  Tmain = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    SpinEdit1: TSpinEdit;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    StatusBar1: TStatusBar;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    Button20: TButton;
    Button21: TButton;
    Button22: TButton;
    Button23: TButton;
    Button24: TButton;
    Button25: TButton;
    Button26: TButton;
    Button27: TButton;
    Button28: TButton;
    Button29: TButton;
    Button31: TButton;
    Button30: TButton;
    Button32: TButton;
    Button34: TButton;
    Button36: TButton;
    Button41: TButton;
    Button42: TButton;
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    SpinEdit2: TSpinEdit;
    SpinEdit3: TSpinEdit;
    SpinEdit4: TSpinEdit;
    SpinEdit5: TSpinEdit;
    SpinEdit6: TSpinEdit;
    Button33: TButton;
    Button35: TButton;
    Button37: TButton;
    Button38: TButton;
    Button39: TButton;
    Button40: TButton;
    Button43: TButton;
    Button44: TButton;
    Label6: TLabel;
    Button45: TButton;
    Button46: TButton;
    Button47: TButton;
    edit1: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Edit2: TEdit;
    Label9: TLabel;
    SpinEdit7: TSpinEdit;
    Label10: TLabel;
    SpinEdit8: TSpinEdit;
    Button48: TButton;
    Button49: TButton;
    Bevel1: TBevel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    SpeedButton18: TSpeedButton;
    SpeedButton19: TSpeedButton;
    Label21: TLabel;
    Label22: TLabel;
    Label11: TLabel;
    cbb_Com: TComboBox;
    se_Addr: TSpinEdit;
    cb_NameList: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button32Click(Sender: TObject);
    procedure Button30Click(Sender: TObject);
    procedure Button34Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button29Click(Sender: TObject);
    procedure Button36Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure Button39Click(Sender: TObject);
    procedure Button40Click(Sender: TObject);
    procedure SpinEdit2Change(Sender: TObject);
    procedure Button38Click(Sender: TObject);
    procedure Button44Click(Sender: TObject);
    procedure Button37Click(Sender: TObject);
    procedure Button43Click(Sender: TObject);
    procedure Button28Click(Sender: TObject);
    procedure Button31Click(Sender: TObject);
    procedure Button42Click(Sender: TObject);
    procedure Button41Click(Sender: TObject);
    procedure Button35Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button47Click(Sender: TObject);
    procedure Button46Click(Sender: TObject);
    procedure Button45Click(Sender: TObject);
    procedure Button48Click(Sender: TObject);
    procedure Button49Click(Sender: TObject);
    procedure SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton14Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  main              : Tmain;

implementation

{$R *.dfm}
procedure Express(Channels: Byte; War_Style: Byte; ReturnStr: string = ''); stdcall;
var
  S                 : string;
begin
  Application.ProcessMessages;
  S := '第 ' + IntToStr(Channels) + ' 通道';
  with main.StatusBar1.Panels[1] do
    case War_Style of
      0:
        Text := '正在打开 ' + S;
      1:
        Text := S + '音频信号丢失';
      2:
        Text := S + '视频信号丢失';
      3:
        Text := S + '监控区域内有物体移动!';
      4:
        Text := S + '录像文件: ' + extractfilename(ReturnStr) + ' 到指定大小,自动分割生成新的录像文件';
      5:
        Text := S + '开始录像';
      6:
        Text := S + '停止录像';
      7:
        Text := S + '启动声音监听';
      8:
        Text := S + '关闭声音监听';
      9:
        Text := S + '启动视频预览';
      10:
        Text := S + '关闭视频预览';
      11:
        Text := S + '启动录像';
      12:
        Text := S + '关闭录像';
      13:
        Text := S + '启动视频报警';
      14:
        Text := S + '关闭视频报警';
      15:
        Text := S + '启动音频报警';
      16:
        Text := S + '关闭音频报警';
      17:
        Text := S + '启动移动侦测';
      18:
        Text := S + '关闭移动侦测';
      19:
        Text := S + '启动视频遮挡';
      20:
        Text := S + '关闭视频遮挡';
      21:
        Text := S + '开始屏幕输出';
      22:
        Text := S + '关闭屏幕输出';
      23:
        Text := S + '启动视频LOGO';
      24:
        Text := S + '关闭视频LOGO';
      25:
        Text := S + '开始视频OSD';
      26:
        Text := S + '关闭视频OSD';
      27:
        Text := S + '切换为黑白视频';
      28:
        Text := S + '切换为彩色视频';
      29:
        Text := S + '切换为黑屏显示';
      30:
        Text := S + '切换为白屏显示';
      31:
        Text := S + '视频色彩复位';
      32:
        Text := S + '启动全屏显示';
      33:
        Text := '采集卡已加载';
      34:
        Text := '采集卡已卸载';
      35:
        Text := '网络服务已启动';
      36:
        Text := '网络服务已停止';
      37:
        Text := '静音';
      38:
        Text := '音量恢复';
      39:
        Text := '云台控制命令发送';
      40:
        Text := '系统出现未知错误';
      41:
        if Channels = main.SpinEdit1.Value then
          Text := S + '录像文件大小:' + ReturnStr + ' M';
      42:
        Text := '配置端口号成功...';
      43:
        Text := '连接服务端成功...';
      44:
        Text := '正在连接...';
      45:
        Text := '开始接收图象...';
      46:
        Text := '异常退出...';
      47:
        Text := '接收完毕,退出...';
      48:
        Text := '无法联系服务端...';
      49:
        Text := '服务端拒绝访问...';
      50:
        Text := '无效...';
      51:
        Text := '停止客户端连接...';
      52:
        Text := '图像抓取成功...';
      53:
        Text := '初始化服务端网络连接成功...';
    end;
end;

procedure Tmain.Button1Click(Sender: TObject);
begin
  Set_CallBack_Func(@Express);          //设置回调
  if Load_Board(2) <> 0 then            //板卡初始化(通道被除数,此处为2,表示为8路作4路用)
    main.StatusBar1.Panels[1].Text := '加载采集卡成功!'
  else
    main.StatusBar1.Panels[1].Text := '加载采集卡失败!'
end;

procedure Tmain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  UnLoad_Board()                        //卸载板卡
end;

procedure Tmain.Button2Click(Sender: TObject);
begin
  //启动预览(通道号,预览句柄,预览区域,是否设置预览用 Overlay  方式(MD卡兼容))
  Start_Video_Preview(SpinEdit1.Value, Panel1.Handle, Panel1.ClientRect)
end;

procedure Tmain.Button3Click(Sender: TObject);
begin
  //停止预览(通道号)
  Stop_Video_Preview(SpinEdit1.Value);
  Panel1.Refresh                        //刷新显示区域
end;

procedure Tmain.Button4Click(Sender: TObject);
begin
  //启动录像(通道号,保存录像文件名)
  Start_Video_Capture(SpinEdit1.Value, '', 1, 3);
end;

procedure Tmain.Button5Click(Sender: TObject);
begin
  //停止录像(通道号)
  Stop_Video_Capture(SpinEdit1.Value)
end;

procedure Tmain.Button6Click(Sender: TObject);
begin
  //视频截图(通道号,保存截图文件名,是否JPEG格式,JPEG 图片质量:1 到 100,1 最差,100 最好)
  Start_Image_Capture(SpinEdit1.Value, '', False)
end;

procedure Tmain.Button7Click(Sender: TObject);
begin
  //显示OSD(通道号,第一行座标,内容,第二行座标,内容,是否自动进行颜色翻转,OSD显示亮度:255 最亮0 最暗,是否显示时间)
  Start_Video_OSD(SpinEdit1.Value, 12, 8, 'OSD1内容', 12, 530, 'OSD2内容', True, 255, False)
end;

procedure Tmain.Button8Click(Sender: TObject);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -