//--------------------------------------------------------------------------- #include #include "AppGlobalF.h" #pragma hdrstop #include "FrmCameraFullScreenF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "FFBaseComponent" #pragma link "FFBasePlay" #pragma link "FFPlay" #pragma resource "*.dfm" TFrmCameraFullScreen *FrmCameraFullScreen = NULL; #define LICENSE_KEY "FSXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX" //--------------------------------------------------------------------------- __fastcall TFrmCameraFullScreen::TFrmCameraFullScreen(TComponent* Owner) : TForm(Owner) { this->Color = clBlack; PnlStream->ParentColor = false; PnlStream->Color = clBlack; FFPlayer->SetLicenseKey(LICENSE_KEY); FFPlayer->DisableFPUExceptions(); String sAVILibDir = g_sAppDir + "LibAV"; if (!FFPlayer->AVLibLoaded()) { if (!FFPlayer->LoadAVLib(sAVILibDir)) { //PnlTitle->Caption = FCtlrNm + ": ¿µ»óÇ¥Ãâ ¶óÀ̺귯¸®¸¦ ·Îµå ½ÇÆÐ!!"; } } } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::PnlStreamDblClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::FormClose(TObject *Sender, TCloseAction &Action) { Disconnect(); FrmCameraFullScreen = NULL; } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::FormDblClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::FormShow(TObject *Sender) { Refresh(); Application->ProcessMessages(); this->Color = clBlack; PnlStream->ParentColor = false; PnlStream->Color = clBlack; Connect(); } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::Connect() { Disconnect(); PnlStream->Caption = "Try connect..."; try { FFPlayer->AspectRatio = -1; FFPlayer->TryOpen(RTSP_ADDR, PnlStream->Handle); FConHandle = (long)FFPlayer->ScreenHandle; Application->ProcessMessages(); } catch(Exception &e) { } FPlay = true; } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::Disconnect() { if (!FPlay) return; FPlay = false; PnlStream->Caption = "Try disconnect"; try { if (FFPlayer->ScreenHandle != NULL) { FFPlayer->Stop(true); PostMessage(FFPlayer->ScreenHandle, CM_INVALIDATE, 0, 0); UpdateWindow(FFPlayer->ScreenHandle); } Application->ProcessMessages(); FConHandle = 0; } catch(Exception &e) { } PnlStream->Caption = "Disconnected"; FConHandle = 0; FPlay = false; } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::TmrCloseTimer(TObject *Sender) { TmrClose->Enabled = false; Close(); } //--------------------------------------------------------------------------- void __fastcall TFrmCameraFullScreen::FormKeyPress(TObject *Sender, wchar_t &Key) { if (Key == VK_ESCAPE) { Close(); } } //---------------------------------------------------------------------------