NET_DVR_DEVICEINFO_V30 struDeviceInfo;
NET_DVR_CLIENTINFO ClientInfo;
INITINFO m_rpinitinfo;
long lUserID;
int MainWindow::video()
{
// 初始化
NET_DVR_Init();
//设置连接时间与重连时间
NET_DVR_SetConnectTime(2000, 1);
NET_DVR_SetReconnect(10000, true);
// 注册设备
lUserID = NET_DVR_Login_V30("192.168.1.101", 8000, "admin", "12345", &struDeviceInfo);
if (lUserID < 0)
{
printf("Login error, %d\n", NET_DVR_GetLastError());
NET_DVR_Cleanup();
return -1;
}
show();
char windowid[64]={0};
sprintf(windowid, "%ld", ui->frame->winId());
if (-1 == setenv("SDL_WINDOWID", windowid, 1))
{
QMessageBox::information(this,tr("Error"), tr("Set SDL_WINDOWID failed!"));
return -1;
}
setUpdatesEnabled (TRUE);
update();
repaint();
m_rpinitinfo.uWidth =600;
m_rpinitinfo.uHeight =400;
if (!NET_DVR_DrawAreaInit(m_rpinitinfo))
{
QMessageBox::information(this, tr("DrawAreaInit failed"), tr("Error code:\"%1\".").arg(NET_DVR_GetLastError()));
return -1;
}
ClientInfo.hPlayWnd.uHeight = ui->frame->height();
ClientInfo.hPlayWnd.uWidth = ui->frame->width();
ClientInfo.hPlayWnd.x = x() + 2;
ClientInfo.hPlayWnd.y = y() + 2;
ClientInfo.lChannel = 1; //channel NO.
//ClientInfo.lLinkMode = 0x40000000; //Record when breaking network.
ClientInfo.lLinkMode = 0;
ClientInfo.sMultiCastIP = NULL;
NET_DVR_RealPlay_V30(lUserID, &ClientInfo, NULL, NULL, 0);
}