FrmCameraFullScreenF.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "FrmCameraFullScreenF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma link "FFBaseComponent"
  8. #pragma link "FFBasePlay"
  9. #pragma link "FFPlay"
  10. #pragma resource "*.dfm"
  11. TFrmCameraFullScreen *FrmCameraFullScreen = NULL;
  12. //---------------------------------------------------------------------------
  13. __fastcall TFrmCameraFullScreen::TFrmCameraFullScreen(TComponent* Owner)
  14. : TForm(Owner)
  15. {
  16. this->Color = clBlack;
  17. PnlStream->ParentColor = false;
  18. PnlStream->Color = clBlack;
  19. }
  20. //---------------------------------------------------------------------------
  21. void __fastcall TFrmCameraFullScreen::PnlStreamDblClick(TObject *Sender)
  22. {
  23. Close();
  24. }
  25. //---------------------------------------------------------------------------
  26. void __fastcall TFrmCameraFullScreen::FormClose(TObject *Sender, TCloseAction &Action)
  27. {
  28. Disconnect();
  29. FrmCameraFullScreen = NULL;
  30. }
  31. //---------------------------------------------------------------------------
  32. void __fastcall TFrmCameraFullScreen::FormDblClick(TObject *Sender)
  33. {
  34. Close();
  35. }
  36. //---------------------------------------------------------------------------
  37. void __fastcall TFrmCameraFullScreen::FormShow(TObject *Sender)
  38. {
  39. Refresh();
  40. Application->ProcessMessages();
  41. this->Color = clBlack;
  42. PnlStream->ParentColor = false;
  43. PnlStream->Color = clBlack;
  44. Connect();
  45. }
  46. //---------------------------------------------------------------------------
  47. void __fastcall TFrmCameraFullScreen::Connect()
  48. {
  49. Disconnect();
  50. PnlStream->Caption = "Try connect...";
  51. try
  52. {
  53. FFPlayer1->AspectRatio = -1;
  54. FFPlayer1->TryOpen(RTSP_ADDR, PnlStream->Handle);
  55. FConHandle = (long)FFPlayer1->ScreenHandle;
  56. Application->ProcessMessages();
  57. }
  58. catch(Exception &e)
  59. {
  60. }
  61. FPlay = true;
  62. }
  63. //---------------------------------------------------------------------------
  64. void __fastcall TFrmCameraFullScreen::Disconnect()
  65. {
  66. if (!FPlay) return;
  67. FPlay = false;
  68. PnlStream->Caption = "Try disconnect";
  69. try
  70. {
  71. if (FFPlayer1->ScreenHandle != NULL)
  72. {
  73. FFPlayer1->Stop(true);
  74. PostMessage(FFPlayer1->ScreenHandle, CM_INVALIDATE, 0, 0);
  75. UpdateWindow(FFPlayer1->ScreenHandle);
  76. }
  77. Application->ProcessMessages();
  78. FConHandle = 0;
  79. }
  80. catch(Exception &e)
  81. {
  82. }
  83. PnlStream->Caption = "Disconnected";
  84. FConHandle = 0;
  85. FPlay = false;
  86. }
  87. //---------------------------------------------------------------------------
  88. void __fastcall TFrmCameraFullScreen::TmrCloseTimer(TObject *Sender)
  89. {
  90. TmrClose->Enabled = false;
  91. Close();
  92. }
  93. //---------------------------------------------------------------------------