using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace yundemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
context = SynchronizationContext.Current; // 线程间信息同步
}
#region 视频
SynchronizationContext context = SynchronizationContext.Current; // 线程间信息同步
bool isStartVideo1 = false;
/// <summary>
/// 登录ID
/// </summary>
private int pLoginID1 = -1;
/// <summary>
/// 硬件信息
/// </summary>
// private CHCNetSDK.NET_DVR_DEVICEINFO_V30 deviceInfo;
//获取视频路数
private int BindVideo1 = 0;
private int[] pRealPlayHandle;
public void InitVideo()
{
try
{
ThreadStart tsVideo = new ThreadStart(delegate ()
{
context.Post((o) =>
{
pRealPlayHandle = new int[4];
BindVideo1 = 0;
#region 摄像头1
isStartVideo1 = CHCNetSDK.NET_DVR_Init();
//设置连接时间与重连时间
//设备用户信息获得
CHCNetSDK.NET_DVR_DEVICEINFO_V30 deviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();
pLoginID1 = CHCNetSDK.NET_DVR_Login_V30(IP, Port, Admin, Password, ref deviceInfo);
if (pLoginID1 != -1)
{
// byte CountNum = this.deviceInfo.byChanNum >= deviceInfo.byIPChanNum ? deviceInfo.byChanNum : deviceInfo.byIPChanNum;
CHCNetSDK.NET_DVR_PREVIEWINFO lpClientInfo = new CHCNetSDK.NET_DVR_PREVIEWINFO();
lpClientInfo.lChannel = 1;
BindVideo1 = 1;
lpClientInfo.dwStreamType = 1;//码流类型:0-主码流,1-子码流,2-码流3,3-码流4,以此类推
lpClientInfo.dwLinkMode = 1;//连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP
lpClientInfo.bBlocked = false; //0- 非阻塞取流,1- 阻塞取流
lpClientInfo.hPlayWnd = this.pictureBox1.Handle;
IntPtr pUser = new IntPtr();
this.pRealPlayHandle[0] = CHCNetSDK.NET_DVR_RealPlay_V40(pLoginID1, ref lpClientInfo, null, pUser);
pictureBox1.Refresh();
}
#endregion
}, string.Empty);
});
Thread th = new Thread(tsVideo);
th.IsBackground = true;
th.Start();
}
catch
{
MessageBox.Show("连接异常,建议重启");
Application.Exit();
}
}
private void VideoClose()
{
CHCNetSDK.NET_DVR_Cleanup();
}
private void Form1_Load(object sender, EventArgs e)
{
InitConfig();
InitVideo();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
VideoClose();
}
catch
{
Application.Exit();
}
}
#endregion
#region 云台
private void button5_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.TILT_UP);//上
}
private void button8_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.TILT_DOWN);//下
}
private void button2_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.PAN_LEFT);
}
private void button4_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.PAN_RIGHT);//右
}
private void button1_Click(object sender, EventArgs e)
{
YunControl(CHCNetSDK.ZOOM_OUT);//-
}
private void button3_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.ZOOM_IN);//
}
private void button6_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.UP_LEFT);//左上
}
private void button7_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.DOWN_LEFT);//左下
}
private void button9_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.UP_RIGHT);//右上
}
private void button10_Click_1(object sender, EventArgs e)
{
YunControl(CHCNetSDK.DOWN_RIGHT);//右下
}
private void YunControl(uint demo)
{
try
{
if (CHCNetSDK.NET_DVR_PTZControl_Other(pLoginID1, 1, demo, 0))
{
Thread.Sleep(100);
CHCNetSDK.NET_DVR_PTZControl_Other(pLoginID1, 1, CHCNetSDK.PAN_LEFT, 1);
}
}
catch
{
}
}
#endregion
#region 长按
private bool IsRun = false;
private int Con = 0;
private void button3_MouseDown_1(object sender, MouseEventArgs e)
{
Con = 1;
timer1.Start();
IsRun = true;
}
private void button3_MouseUp_1(object sender, MouseEventArgs e)
{
Con = 0;
timer1.Stop();
IsRun = false; ;
}
private void button1_MouseDown_1(object sender, MouseEventArgs e)
{
Con = -1;
timer1.Start();
IsRun = true;
}
private void button1_MouseUp_1(object sender, MouseEventArgs e)
{
Con = 0;
timer1.Stop();
IsRun = false;
}
private void timer1_Tick_1(object sender, EventArgs e)
{
if (IsRun)
{
if (Con == 1)
YunControl_(CHCNetSDK.ZOOM_IN);//
else if (Con == -1)
YunControl_(CHCNetSDK.ZOOM_OUT);//-
}
}
private void YunControl_(uint demo)
{
try
{
if (CHCNetSDK.NET_DVR_PTZControl_Other(pLoginID1, 1, demo, 0))
{
Thread.Sleep(300);
CHCNetSDK.NET_DVR_PTZControl_Other(pLoginID1, 1, demo, 1);
}
}
catch
{
}
}
#endregion
#region 加载配置
private string IP = string.Empty;
private int Port = 0;
private string Admin = string.Empty;
private string Password = string.Empty;
private void InitConfig()
{
try
{
IP = System.Configuration.ConfigurationManager.AppSettings["IP"].ToString();
Port = Convert.ToInt16(System.Configuration.ConfigurationManager.AppSettings["Port"].ToString());
Admin = System.Configuration.ConfigurationManager.AppSettings["Admin"].ToString();
Password = System.Configuration.ConfigurationManager.AppSettings["Passward"].ToString();
}
catch
{
MessageBox.Show("配置出错");
Application.Exit();
}
}
#endregion
private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
int loginId = pLoginID1;
BigScress frm = new BigScress(loginId, this.BindVideo1);
frm.ShowDialog(this);
}
}
}
资源文件列表
yundemo/yundemo/.git/COMMIT_EDITMSG , 22
yundemo/yundemo/.git/HEAD , 23
yundemo/yundemo/.git/config , 770
yundemo/yundemo/.git/description , 73
yundemo/yundemo/.git/hooks/applypatch-msg.sample , 478
yundemo/yundemo/.git/hooks/commit-msg.sample , 896
yundemo/yundemo/.git/hooks/post-update.sample , 189
yundemo/yundemo/.git/hooks/pre-applypatch.sample , 424
yundemo/yundemo/.git/hooks/pre-commit.sample , 1642
yundemo/yundemo/.git/hooks/pre-push.sample , 1348
yundemo/yundemo/.git/hooks/pre-rebase.sample , 4898
yundemo/yundemo/.git/hooks/pre-receive.sample , 544
yundemo/yundemo/.git/hooks/prepare-commit-msg.sample , 1239
yundemo/yundemo/.git/hooks/update.sample , 3610
yundemo/yundemo/.git/index , 1318
yundemo/yundemo/.git/info/exclude , 240
yundemo/yundemo/.git/logs/HEAD , 360
yundemo/yundemo/.git/logs/refs/heads/master , 360
yundemo/yundemo/.git/ms-persist.xml , 150
yundemo/yundemo/.git/objects/13/6ca797f1bde62a6bd12c7ae718192ef32b6782 , 227
yundemo/yundemo/.git/objects/1f/f0c423042b46cb1d617b81efb715defbe8054d , 751
yundemo/yundemo/.git/objects/27/efab6d20355fb11523dae72c6f807d89fd8c8f , 454
yundemo/yundemo/.git/objects/35/5ad73590e0cf0a7dd2090a07044c519cfe840a , 191
yundemo/yundemo/.git/objects/35/be6d9afc686fa81f12d296d9c009034e942e12 , 708
yundemo/yundemo/.git/objects/39/645652af62950ebf3b28ec3a5400dcec30b1c4 , 186
yundemo/yundemo/.git/objects/3c/4efe206bd0e7230ad0ae8396a3c883c8207906 , 2112
yundemo/yundemo/.git/objects/4e/cb0ce582332ac3ece27eb8b59b0c47958da6ac , 169
yundemo/yundemo/.git/objects/61/236fd73b09247f5581aea5dff799a9dc5d32a6 , 210
yundemo/yundemo/.git/objects/66/8177275c313cf8e8806ee6a9d4f3801f129ae7 , 198
yundemo/yundemo/.git/objects/7e/908a186cbf4be0a0a3c5d77dfdce9b06cab46f , 153
yundemo/yundemo/.git/objects/91/e3470e1645e6e8d0de6fe9f6b242f366e9a393 , 89
yundemo/yundemo/.git/objects/af/7dbebbacef595e3089c01c05671016c21a8304 , 1604
yundemo/yundemo/.git/objects/b5/0c74f35e5a66ee0597b9c62244676902b0c9fd , 153
yundemo/yundemo/.git/objects/c0/edec7cdb9c59801b21876f6bd113dd61e352dc , 1093
yundemo/yundemo/.git/objects/ca/0e20f044a9f9fdfc9c12c40c6f034d946c6425 , 621
yundemo/yundemo/.git/objects/eb/7746f3fcbfb029342c741c4cd9bcfb039d2814 , 483
yundemo/yundemo/.git/objects/f1/1cc54588bc37c2eb6c87be9c47686a18ca68a6 , 1133
yundemo/yundemo/.git/objects/f7/c447959853e713533e2acda95c72ec205547f2 , 315
yundemo/yundemo/yundemo/yundemo.csproj , 4262
yundemo/yundemo/yundemo/obj/Debug/yundemo.pdb , 91648
yundemo/yundemo/.git/refs/heads/master , 41
yundemo/yundemo/yundemo/obj/Debug/yundemo.exe , 274944
yundemo/yundemo/.gitattributes , 2581
yundemo/yundemo/.gitignore , 4565
yundemo/yundemo/.vs/yundemo/v15/.suo , 60416
yundemo/yundemo/.vs/yundemo/v15/Server/sqlite3/db.lock , 0
yundemo/yundemo/.vs/yundemo/v15/Server/sqlite3/storage.ide , 1839104
yundemo/yundemo/.vs/yundemo/v15/Server/sqlite3/storage.ide-shm , 32768
yundemo/yundemo/.vs/yundemo/v15/Server/sqlite3/storage.ide-wal , 4927552
yundemo/yundemo/yundemo/App.config , 383
yundemo/yundemo/yundemo/BigScress.Designer.cs , 2008
yundemo/yundemo/yundemo/BigScress.cs , 2240
yundemo/yundemo/yundemo/BigScress.resx , 36509
yundemo/yundemo/yundemo/CHCNetSDK.cs , 868027
yundemo/yundemo/yundemo/Form1.Designer.cs , 13084
yundemo/yundemo/yundemo/Form1.cs , 8468
yundemo/yundemo/yundemo/Form1.resx , 20811
yundemo/yundemo/yundemo/Program.cs , 519
yundemo/yundemo/yundemo/Properties/AssemblyInfo.cs , 1312
yundemo/yundemo/yundemo/Properties/Resources.Designer.cs , 2849
yundemo/yundemo/yundemo/Properties/Resources.resx , 5959
yundemo/yundemo/yundemo/Properties/Settings.Designer.cs , 1094
yundemo/yundemo/yundemo/Properties/Settings.settings , 249
yundemo/yundemo/yundemo/WMPlayer.ico , 20262
yundemo/yundemo/yundemo/bin/Debug/AudioRender.dll , 152576
yundemo/yundemo/yundemo/bin/Debug/HCCore.dll , 1486336
yundemo/yundemo/yundemo/bin/Debug/HCNetSDK.dll , 675328
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/AnalyzeData.dll , 433664
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/AudioIntercom.dll , 610816
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCAlarm.dll , 506368
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCAlarm.lib , 14822
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCCoreDevCfg.dll , 836608
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCDisplay.dll , 616960
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCGeneralCfgMgr.dll , 1083904
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCGeneralCfgMgr.lib , 49402
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCIndustry.dll , 797696
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCPlayBack.dll , 472064
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCPreview.dll , 624128
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCPreview.lib , 38128
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/HCVoiceTalk.dll , 601600
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/OpenAL32.dll , 389632
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/StreamTransClient.dll , 638464
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/SystemTransform.dll , 655360
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/libiconv2.dll , 978432
yundemo/yundemo/yundemo/bin/Debug/HCNetSDKCom/msvcr90.dll , 655872
yundemo/yundemo/yundemo/bin/Debug/PlayCtrl.dll , 3685376
yundemo/yundemo/yundemo/bin/Debug/SuperRender.dll , 352256
yundemo/yundemo/yundemo/bin/Debug/yundemo.exe , 274944
yundemo/yundemo/yundemo/bin/Debug/yundemo.exe.config , 385
yundemo/yundemo/yundemo/bin/Debug/yundemo.pdb , 91648
yundemo/yundemo/yundemo/obj/Debug/yundemo.csprojAssemblyReference.cache , 2548
yundemo/yundemo/yundemo/obj/Debug/DesignTimeResolveAssemblyReferences.cache , 21142
yundemo/yundemo/yundemo/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 7379
yundemo/yundemo/yundemo/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll , 3584
yundemo/yundemo/yundemo/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs , 0
yundemo/yundemo/yundemo/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs , 0
yundemo/yundemo/yundemo/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs , 0
yundemo/yundemo/yundemo/obj/Debug/yundemo.BigScress.resources , 20828
yundemo/yundemo/yundemo/obj/Debug/yundemo.Form1.resources , 10228
yundemo/yundemo/yundemo/obj/Debug/yundemo.Properties.Resources.resources , 180
yundemo/yundemo/yundemo/obj/Debug/yundemo.csproj.CoreCompileInputs.cache , 42
yundemo/yundemo/yundemo/obj/Debug/yundemo.csproj.FileListAbsolute.txt , 944
yundemo/yundemo/yundemo/obj/Debug/yundemo.csproj.GenerateResource.cache , 1074
yundemo/yundemo/yundemo.sln , 1119
