FrmWebCamF.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "FrmWebCamF.h"
  5. #include "AppGlobalF.h"
  6. #include "samsungPlayer1F.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. //TFrmWebCam *FrmWebCam = NULL;
  11. //---------------------------------------------------------------------------
  12. __fastcall TFrmWebCam::TFrmWebCam(TComponent* Owner, TItsWebCam *AObj)
  13. : TForm(Owner)
  14. {
  15. FObj = AObj;
  16. }
  17. //---------------------------------------------------------------------------
  18. /*
  19. * form을 보여줄때 호출되는 event 메서드이다.
  20. * arguments
  21. * Sender : event handler 객체
  22. * return
  23. * void
  24. */
  25. void __fastcall TFrmWebCam::FormShow(TObject *Sender)
  26. {
  27. if (FObj) PnlBack->Caption = FObj->ISTL_LCTN_NM;
  28. else PnlBack->Caption = "";
  29. TmrShow->Enabled = true;
  30. }
  31. //---------------------------------------------------------------------------
  32. void __fastcall TFrmWebCam::TmrShowTimer(TObject *Sender)
  33. {
  34. TmrShow->Enabled = false;
  35. try
  36. {
  37. if (FObj)
  38. {
  39. Caption = FObj->WEB_CMRA_ID + ": " + FObj->ISTL_LCTN_NM;
  40. WebCamPlay();
  41. }
  42. }
  43. catch(...){}
  44. }
  45. //---------------------------------------------------------------------------
  46. void __fastcall TFrmWebCam::FormClose(TObject *Sender, TCloseAction &Action)
  47. {
  48. CommClose();
  49. Action = caFree;
  50. }
  51. //---------------------------------------------------------------------------
  52. void __fastcall TFrmWebCam::FormDestroy(TObject *Sender)
  53. {
  54. CommClose();
  55. }
  56. //---------------------------------------------------------------------------
  57. /*
  58. * 닫기버튼 이나 x버튼 클릭시 공통으로 처리하는 로직이들어간다..
  59. * Form과 DataModule class를 delete시킨다.
  60. * arguments
  61. *
  62. * return
  63. * void
  64. */
  65. void __fastcall TFrmWebCam::CommClose()
  66. {
  67. try {
  68. if (FObj)
  69. {
  70. FObj->FData2 = NULL;
  71. }
  72. WebCamStop();
  73. } catch(...) {}
  74. }
  75. //---------------------------------------------------------------------------
  76. void __fastcall TFrmWebCam::WebCamPlay()
  77. {
  78. if (!FObj) return;
  79. //FObj->STRM_SESN_NM = "rtsp://211.252.223.178/246/video2d";
  80. FPalyerForm = samsungPlayer1_create(this, PnlBack, FObj->WEB_CMRA_ID, FObj->ISTL_LCTN_NM,
  81. FObj->CMRA_IP,
  82. FObj->CMRA_PORT.ToIntDef(4520),
  83. FObj->ID,
  84. FObj->PSWD,
  85. g_AppCfg.vmscam.sComModel,
  86. g_AppCfg.vmscam.sDevModel);
  87. }
  88. //---------------------------------------------------------------------------
  89. void __fastcall TFrmWebCam::WebCamStop()
  90. {
  91. if (!FObj) return;
  92. if (FPalyerForm)
  93. {
  94. samsungPlayer1_stop(FPalyerForm);
  95. FPalyerForm = NULL;
  96. }
  97. }
  98. //---------------------------------------------------------------------------