3,882
社区成员
发帖
与我相关
我的任务
分享
#ifndef SDK_READ_H
#define SDK_READ_H
#include <QtGui>
class sdk_read: public QWidget
{
Q_OBJECT
public:
sdk_read();
private slots:
void push_button();
private:
QFrame *frame;
QPushButton *button;
};
#endif // SDK_READ_H
#include <sdk_read.h>
#include <LinuxPlayM4.h>
#include <PlayM4.h>
#include <HCNetSDK.h>
#include <QtGui>
typedef unsigned int HWND;
static bool play=false;
static LONG lUserID=0;
sdk_read::sdk_read()
{
button=new QPushButton(tr("Clicked Me"),this);
button->show();
connect(button,SIGNAL(clicked()),this,SLOT(push_button()));
frame=new QFrame(this);
frame->setFrameShape(QFrame::StyledPanel);
frame->setFrameShadow(QFrame::Raised);
frame->show();
QVBoxLayout *mainlayout=new QVBoxLayout;
mainlayout->addWidget(frame);
mainlayout->addWidget(button);
setLayout(mainlayout);
setWindowTitle(tr("SDK"));
}
void sdk_read::push_button()
{
LONG lRealHandle=0;
if(play)
{
NET_DVR_StopRealPlay(lRealHandle);
NET_DVR_Logout_V30(lUserID);
lRealHandle=0;
lUserID=0;
//NET_DVR_Cleanup();
play=false;
qDebug("Log out");
}
else
{
NET_DVR_Init();
//NET_DVR_SetConnectTime(2000, 1);
//NET_DVR_SetReconnect(10000, true);
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
memset(&struDeviceInfo,0,sizeof(NET_DVR_DEVICEINFO_V30));
lUserID=NET_DVR_Login_V30("202.118.13.87",8000,"admin","hikvision123",&struDeviceInfo);
if(lUserID<0)
{
qDebug("Login error,%d/n",NET_DVR_GetLastError());
NET_DVR_Cleanup();
}
NET_DVR_SetLogToFile(3,"/home/sdklog/",TRUE);
NET_DVR_CLIENTINFO tmpclientinfo;
tmpclientinfo.hPlayWnd=(HWND)frame->winId();
tmpclientinfo.lChannel=1;
tmpclientinfo.lLinkMode=0;
tmpclientinfo.sMultiCastIP = NULL;
//NET_DVR_PREVIEWINFO tmpclientinfo;
//tmpclientinfo.hPlayWnd=(HWND)frame->winId();
//tmpclientinfo.lChannel=1;
//tmpclientinfo.dwStreamType=0;
//tmpclientinfo.dwLinkMode=0;
lRealHandle=NET_DVR_RealPlay_V30(lUserID,&tmpclientinfo,NULL,NULL,0);
NET_DVR_SetCapturePictureMode(0);
NET_DVR_CapturePicture(lRealHandle,"/home/realarm/5.bmp");
qDebug("Demo---Protocal:%d",tmpclientinfo.lLinkMode);
qDebug("Demo---lChannel:%d",tmpclientinfo.lChannel);
qDebug("Demo---lRealHandle:%d",lRealHandle);
if(lRealHandle<0)
{
QMessageBox::information(this,tr("NET_DVR_RealPlay error"),tr("SDK_LAST ERROR=%1").arg(NET_DVR_GetLastError()));
NET_DVR_Logout_V30(lUserID);
}
if(lRealHandle>0)
{
play=true;
qDebug("Play=true");
}
}
}