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

📄 main_unit.pas

📁 视频采集卡sdk-2
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
  //隐藏OSD(通道号)
  Stop_Video_OSD(SpinEdit1.Value)
end;

procedure Tmain.Button9Click(Sender: TObject);
begin
  //显示LOGO(通道号,座标X,座标Y,LOGO图片文件,是否半透明处理,透明色值(红绿蓝))
  Start_Video_Logo(SpinEdit1.Value, 12, 530, 'Logo.bmp', True)
end;

procedure Tmain.Button10Click(Sender: TObject);
begin
  //隐藏LOGO(通道号)
  Stop_Video_Logo(SpinEdit1.Value)
end;

procedure Tmain.Button11Click(Sender: TObject);
begin
  Board_Info := Get_Board_Info(1);      //获取板卡序列号等信息(通道号-决定板卡序列号的不同)

  Memo1.Text :=
    PChar('型号:' + Board_Info.boardType + #13#10 +
    '序列号:' + Board_Info.boardSN + #13#10 +
    '系统中板卡的个数:' + IntToStr(Board_Info.BoardCount) + #13#10 +
    '系统中DSP个数:' + IntToStr(Board_Info.DspCount) + #13#10 +
    '视频处理器数:' + IntToStr(Board_Info.DSPs) + #13#10 +
    '编码通道个数:' + IntToStr(Board_Info.EncodeChannelCount) + #13#10 +
    '解码通道个数:' + IntToStr(Board_Info.DecodeChannelCount) + #13#10 +
    '显示通道(视频输出)个数:' + IntToStr(Board_Info.DisplayChannelCount) + #13#10 + #13#10 +
    'DspVersion:' + IntToStr(Board_Info.SDKVersion.DspVersion) + #13#10 +
    'DspBuildNum:' + IntToStr(Board_Info.SDKVersion.DspBuildNum) + #13#10 +
    'DriverVersion:' + IntToStr(Board_Info.SDKVersion.DriverVersion) + #13#10 +
    'DriverBuildNum:' + IntToStr(Board_Info.SDKVersion.DriverBuildNum) + #13#10 +
    'SDKVersion:' + IntToStr(Board_Info.SDKVersion.SDKVersion) + #13#10 +
    'SDKBuildNum:' + IntToStr(Board_Info.SDKVersion.SDKBuildNum)
    );

end;

procedure Tmain.Button17Click(Sender: TObject);
begin
  //启动声音监听(通道号)
  Start_Audio_Preview(SpinEdit1.Value)
end;

procedure Tmain.Button18Click(Sender: TObject);
begin
  //停止声音监听(通道号,是否停止所有通道声音)
  Stop_Audio_Preview(SpinEdit1.Value, False)
end;

procedure Tmain.Button23Click(Sender: TObject);
begin
  //初始化网络服务(通道数据类型:宽带NORMAL,窄带DIALING<不支持声音>,窄带/宽带SMALLPIC<支持声音>,服务端的网络端口号和客户端的网络端口号)
  Load_Net_Server(NORMAL, SpinEdit7.Value, SpinEdit8.Value)
end;

procedure Tmain.Button24Click(Sender: TObject);
begin
  //停止网络服务
  UnLoad_Net_Server
end;

procedure Tmain.Button25Click(Sender: TObject);
begin
  //获取帧统计信息(通道号,帧统计信息)
  Get_Frames_Statistics(SpinEdit1.Value, FRAMES_STATISTIC);

  Memo1.Text :=
    PChar(
    '视频帧数:' + IntToStr(FRAMES_STATISTIC.VideoFrames) + #13#10 +
    '音频帧数:' + IntToStr(FRAMES_STATISTIC.AudioFrames) + #13#10 +
    '丢失帧数:' + IntToStr(FRAMES_STATISTIC.FramesLost) + #13#10 +
    '缓存溢出:' + IntToStr(FRAMES_STATISTIC.QueueOverflow) + #13#10 +
    '当前码流(kb/s):' + IntToStr(FRAMES_STATISTIC.CurBps)
    );
end;

procedure Tmain.Button14Click(Sender: TObject);
begin
  //设置屏幕遮挡(通道号,左,上,右,下)
  Start_Video_Mask(SpinEdit1.Value, 32, 32, 256, 256)
end;

procedure Tmain.Button12Click(Sender: TObject);
begin
  //停止屏幕遮挡(通道号)
  Stop_Video_Mask(SpinEdit1.Value)
end;

procedure Tmain.Button20Click(Sender: TObject);
begin
  //启动视频丢失报警:多线程方式
  Start_Video_Warnning(SpinEdit1.Value)
end;

procedure Tmain.Button22Click(Sender: TObject);
begin
  //停止视频丢失报警 (通道号)
  Stop_Video_Warnning(SpinEdit1.Value)
end;

procedure Tmain.Button32Click(Sender: TObject);
begin
  //获取音视频报警状态(通道号,返回方式:音频或视频)
  if Get_AV_State(SpinEdit1.Value, False) then
    main.StatusBar1.Panels[1].Text := '第 ' + IntToStr(SpinEdit1.Value) + ' 通道视频报警已启动...'
  else
    main.StatusBar1.Panels[1].Text := '第 ' + IntToStr(SpinEdit1.Value) + ' 通道视频报警已关闭...'
end;

procedure Tmain.Button30Click(Sender: TObject);
begin
  //获取音视频报警状态(通道号,返回方式:音频或视频)
  if Get_AV_State(SpinEdit1.Value, True) then
    main.StatusBar1.Panels[1].Text := '第 ' + IntToStr(SpinEdit1.Value) + ' 通道音频报警已启动...'
  else
    main.StatusBar1.Panels[1].Text := '第 ' + IntToStr(SpinEdit1.Value) + ' 通道音频报警已关闭...'
end;

procedure Tmain.Button34Click(Sender: TObject);
begin
  //获取报警线程运行状态:为真表示线程正在运行
  if Get_Warnning_State then
    main.StatusBar1.Panels[1].Text := '报警线程已启动...'
  else
    main.StatusBar1.Panels[1].Text := '报警线程已关闭...'
end;

procedure Tmain.Button21Click(Sender: TObject);
begin
  //启动音频丢失报警:多线程方式
  Start_Audio_Warnning(SpinEdit1.Value)
end;

procedure Tmain.Button19Click(Sender: TObject);
begin
  //停止音频丢失报警 (通道号)
  Stop_Audio_Warnning(SpinEdit1.Value)
end;

procedure Tmain.Button27Click(Sender: TObject);
begin
  Memo1.Text := Get_SDK_Err($C0000002)  //获取错误信息(错误值)
end;

procedure Tmain.Button13Click(Sender: TObject);
begin
  //设置移动侦测(通道号,左,上,右,下,移动侦测灵敏度默认值为2,是否录像,警前帧数,录像文件名)
  Start_Motion_Detection(SpinEdit1.Value, 0, 0, 352, 240, 2, True, 300, 'D:\alarm')
end;

procedure Tmain.Button15Click(Sender: TObject);
begin
  //停止移动侦测(通道号)
  Stop_Motion_Detection(SpinEdit1.Value);
end;

procedure Tmain.Button26Click(Sender: TObject);
begin
  //开始屏幕输出(输出内容,输出左上角座标位置,是否透明输出,输出字体颜色RGB,是否输出时间)
  Start_Screen_Draw(SpinEdit1.Value, '海康威视三次开发包示例')
end;

procedure Tmain.Button29Click(Sender: TObject);
begin
  //停止屏幕输出(通道号)
  Stop_Screen_Draw(SpinEdit1.Value);
end;

procedure Tmain.Button36Click(Sender: TObject);
var
  sdkstate          : TSdkState;
begin
  sdkstate := Get_SDK_State(SpinEdit1.Value); //获取指定通道工作状态(通道号)

  if sdkstate.Video_IsMask then
    Memo1.Text := PChar('第 ' + IntToStr(SpinEdit1.Value) + ' 通道视频遮挡已启动!')
  else
    Memo1.Text := PChar('第 ' + IntToStr(SpinEdit1.Value) + ' 通道视频遮挡已停止!')
end;

procedure Tmain.Button33Click(Sender: TObject);
begin
  SpinEdit2.Value := Get_Volume_Master  //获取Master音量
end;

procedure Tmain.Button39Click(Sender: TObject);
begin
  SpinEdit2.Value := Get_Volume_WaveOut //获取WaveOut音量
end;

procedure Tmain.Button40Click(Sender: TObject);
begin
  SpinEdit2.Value := Get_Volume_Synth   //获取Synth音量
end;

procedure Tmain.SpinEdit2Change(Sender: TObject);
begin
  //设置Master音量
  Set_Volume_Master(SpinEdit2.Value);
end;

procedure Tmain.Button38Click(Sender: TObject);
var
  Ld, Dbd, Bhd, Sd  : Byte;
begin
  //获取视频参数(通道号,亮度,对比度,饱和度,色度)
  Get_Video_Para(SpinEdit1.Value, Ld, Dbd, Bhd, Sd);
  SpinEdit3.Value := Ld;
  SpinEdit4.Value := Dbd;
  SpinEdit5.Value := Bhd;
  SpinEdit6.Value := Sd;
end;

procedure Tmain.Button44Click(Sender: TObject);
begin
  //设置视频参数(通道号,亮度,对比度,饱和度,色度)
  Set_Video_Para(SpinEdit1.Value, SpinEdit3.Value, SpinEdit4.Value, SpinEdit5.Value, SpinEdit6.Value)
end;

procedure Tmain.Button37Click(Sender: TObject);
begin
  //快速黑白、彩色图像切换(通道号,是否黑白)
  Set_Video_NoColor(SpinEdit1.Value)
end;

procedure Tmain.Button43Click(Sender: TObject);
begin
  //快速黑白、彩色图像切换(通道号,是否黑白)
  Set_Video_NoColor(SpinEdit1.Value, False)
end;

procedure Tmain.Button28Click(Sender: TObject);
begin
  //黑屏 (通道号)
  Set_Screen_Black(SpinEdit1.Value)
end;

procedure Tmain.Button31Click(Sender: TObject);
begin
  //白屏 (通道号)
  Set_Screen_White(SpinEdit1.Value)
end;

procedure Tmain.Button42Click(Sender: TObject);
begin
  //复位视频图像参数(通道号)
  Reset_Video_Para(SpinEdit1.Value)
end;

procedure Tmain.Button41Click(Sender: TObject);
begin
  //调用全屏窗口(通道号,是否自动巡回显示各通道监控画面,默认不自动切换,值=0)
  Start_Video_FullScreen(SpinEdit1.Value)
end;

procedure Tmain.Button35Click(Sender: TObject);
begin
  Set_Volume_Mute                       //静音自动切换
end;

procedure Tmain.Button16Click(Sender: TObject);
begin
  UnLoad_Board()                        //卸载板卡
end;

procedure Tmain.FormCreate(Sender: TObject);
var
  List              : TStringList;
begin
  List := TStringList.Create;           //创建列表
  Get_Pro_List(List);                   //获取协议列表
  cb_NameList.items := List;            //在窗体列表中显示
  Memo1.Lines.AddStrings(List);
  List.Free;                            //释放列表

  edit1.Text := Get_UserID;             //获取机器码
  Edit2.Text := Get_LocalIP;            //本地IP
  StatusBar1.Panels[3].Text := Get_SDK_Version(); //获取SDK版本号
  if Get_SDK_Reg then
    StatusBar1.Panels[4].Text := '已注册'
  else
    StatusBar1.Panels[4].Text := '未注册';
end;

procedure Tmain.Button47Click(Sender: TObject);
begin
  //发送邮件:请正确填写再发送
  //Send_Mail('smtp.163.com','用户名','邮件密码','发送人邮箱','收件人邮箱','邮件主题','邮件正文')
end;

procedure Tmain.Button46Click(Sender: TObject);
begin
  if Get_SDK_Reg then                   //获取注册状态
    ShowMessage('已注册')
  else
    ShowMessage('未注册');
end;

procedure Tmain.Button45Click(Sender: TObject);
begin
  ShowMessage('您的机器码是: ' + Get_UserID); //获取机器码
end;

procedure Tmain.Button48Click(Sender: TObject);
begin
  Application.MessageBox('海康视频采集卡三次开发包示例' + #13#10#13#10 +
    '支持DS-40xxHC、DS-40xxHC+、' + #13#10 + '40xxMD卡,具体请阅读本开发' +
    #13#10 + '包附带的说明文档。' + #13#10#13#10 + '注册软件请联系:' + #13#10 + 'QQ:366733082' +
    #13#10 + 'Mail:366733082@163.com', '关于服务端', MB_OK + MB_ICONINFORMATION +
    MB_TOPMOST);
end;

procedure Tmain.Button49Click(Sender: TObject);
begin
  ShellExecute(Handle, 'open', PChar('http://www.prowt.com/SDK2/'), nil, nil, SW_SHOW);
end;

procedure Tmain.SpeedButton1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  //鼠标按下时执行动作
  Remot_Contrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag);
end;

procedure Tmain.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  //鼠标弹起时停止动作
  Remot_Contrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag, True);
end;

procedure Tmain.SpeedButton14Click(Sender: TObject);
begin
  //单击时执行动作
  Remot_Contrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag);
end;

procedure Tmain.SpeedButton15Click(Sender: TObject);
begin
  //单击时停止动作
  Remot_Contrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag, True);
end;

end.

⌨️ 快捷键说明

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