//--------------------------------------------------------------------------- #include #include "AppGlobalF.h" #include "ITSLangTransF.h" #pragma hdrstop #include "FRAME_CameraF.h" #include "FrmCameraScreenF.h" #include "FrmCameraInfoF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "AcesTechXPlayer2Lib_OCX" #pragma link "dxGDIPlusClasses" #pragma resource "*.dfm" TFRAMECamera *FRAMECamera; //--------------------------------------------------------------------------- __fastcall TFRAMECamera::TFRAMECamera(TComponent* Owner) : TFrame(Owner) { FPlay = false; FAutoPlay = true; FConHandle = 0; FFullScreen = false; FParent = this->Parent; PnlStream->Tag = (int)this; FCrsCam = NULL; PnlStream->Font->Color = clWhite; //AcesTechXPlayer2->SetFullScreenModeOption(0); AcesTechXPlayer2->Align = alClient; AcesTechXPlayer2->Visible = true; } //--------------------------------------------------------------------------- void __fastcall TFRAMECamera::LoadEmptyImage() { try { String sImageFile = g_sAppDir + "Image\\crs_empty.bmp"; if (FileExists(sImageFile)) { ImgNoData->Picture->LoadFromFile(sImageFile); ImgNoData->Align = alClient; //ImgNoData->Visible = true; } else { sImageFile = g_AppCfg.sEmptyImg; if (sImageFile != "") { ImgNoData->Picture->LoadFromFile(sImageFile); ImgNoData->Align = alClient; //ImgNoData->Visible = true; } } } catch(Exception &e) { //ImgNoData->Visible = true; } } //--------------------------------------------------------------------------- bool __fastcall TFRAMECamera::Init(TScreenCtlr *ACrsCam, String AMngrNmbr, String ACtlrId, String ACtlrNm, String AStreamUrl) { if (FCrsCam != NULL) { Disconnect(); } FPlay = false; FAutoPlay = true; FConHandle = 0; FFullScreen = false; FCrsCam = ACrsCam; FMngrNmbr = AMngrNmbr; FCtlrId = ACtlrId; FCtlrNm = ACtlrNm; FStreamUrl = AStreamUrl; FPlay = false; FConHandle = 0; PnlTitle->Caption = FCtlrNm; PnlStream->Caption = ""; PopupMenu = NULL; AcesTechXPlayer2->Visible = false; if (FCrsCam != NULL) { if (FStreamUrl == "") { PnlTitle->Caption = FCtlrNm + ", Stream URL Empty!"; PnlStream->Caption = "Invalid Stream Address!!!";//¿µ»óÁÖ¼Ò°¡ ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù."; PnlTitle->Visible = true; Timer1->Enabled = false; ImgNoData->Visible = false; } else { AcesTechXPlayer2->Visible = true; PnlStream->Caption = ""; PnlTitle->Visible = true; Timer1->Enabled = true; ImgNoData->Visible = false; PopupMenu = PopupMenu1; } } else { PnlTitle->Visible = false; Timer1->Enabled = false; ImgNoData->Visible = true; } return true; } //--------------------------------------------------------------------------- void __fastcall TFRAMECamera::Timer1Timer(TObject *Sender) { Timer1->Enabled = false; Connect(); } //--------------------------------------------------------------------------- void __fastcall TFRAMECamera::Connect() { Disconnect(); try { if (FStreamUrl != "") { PnlStream->Caption = FStreamUrl + ", Connecting..."; PnlTitle->Caption = FCtlrNm; AcesTechXPlayer2->URL = FStreamUrl; FConHandle = AcesTechXPlayer2->ConnectAsync(); if (FConHandle > 0) { } FPlay = true; } Application->ProcessMessages(); } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TFRAMECamera::Disconnect() { Timer1->Enabled = false; if (!FPlay) return; FPlay = false; try { if (FStreamUrl != "") { if (FConHandle > 0) { AcesTechXPlayer2->Close(); } PnlStream->Caption = "Disconnected"; } FConHandle = 0; Application->ProcessMessages(); } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TFRAMECamera::MnuFullScreenClick(TObject *Sender) { TMenuItem *pMenuItem = (TMenuItem*)Sender; if (FCrsCam != NULL) { if (pMenuItem->Tag == 0) { Disconnect(); Connect(); } else if (pMenuItem->Tag == 1) { Disconnect(); } else if (pMenuItem->Tag == 2) { if (FCrsCam != NULL) { FrmCameraScreen->TmrFullScreen->Enabled = false; FrmCameraScreen->FFullCrsCam = FCrsCam; FrmCameraScreen->TmrFullScreen->Enabled = true; } } else if (pMenuItem->Tag == 3) { FrmCameraInfo = new TFrmCameraInfo(this); FrmCameraInfo->Edit1->Text = FCrsCam->CAM_ID; FrmCameraInfo->Edit2->Text = FCrsCam->CAM_NAME; FrmCameraInfo->Edit3->Text = FCrsCam->STRM_ADDR; FrmCameraInfo->Edit4->Text = FCrsCam->FULL_STRM_ADDR; FrmCameraInfo->ShowModal(); FrmCameraInfo = NULL; } } } //---------------------------------------------------------------------------