ChannelParam.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include "ChannelParam.h"
  2. #include <string>
  3. #include "spdlog/spdlog.h"
  4. #include "GlobalInfo.h"
  5. /* --------------------------------------------------------------------------------
  6. * 音量设置相关参数
  7. * -------------------------------------------------------------------------------- */
  8. StVolumeParam::StVolumeParam()
  9. {
  10. Init();
  11. }
  12. void StVolumeParam::Init()
  13. {
  14. m_bSilentSwitch = false;
  15. m_iSilentThreshold = 0;
  16. m_iSilentDuration = 0;
  17. m_nSilentSensitivity = 80;
  18. m_bOverloadSwitch = false;
  19. m_iOverloadThreshold = 0;
  20. m_iOverloadDuration = 0;
  21. // 100% 全部过载才表示过载
  22. m_nOverloadSensitivity = 40;
  23. m_bPhaseSwitch = false;
  24. m_iPhaseThreshold = 0.0;
  25. m_iPhaseDuration = 0;
  26. m_iPhaseSensitivity = 40;
  27. }
  28. StVolumeParam::StVolumeParam(const StVolumeParam& obj)
  29. {
  30. *this = obj;
  31. }
  32. StVolumeParam& StVolumeParam::operator=(const StVolumeParam& obj)
  33. {
  34. m_bSilentSwitch = obj.m_bSilentSwitch;
  35. m_iSilentThreshold = obj.m_iSilentThreshold;
  36. m_iSilentDuration = obj.m_iSilentDuration;
  37. m_nSilentSensitivity = obj.m_nSilentSensitivity;
  38. m_bOverloadSwitch = obj.m_bOverloadSwitch;
  39. m_iOverloadThreshold = obj.m_iOverloadThreshold;
  40. m_iOverloadDuration = obj.m_iOverloadDuration;
  41. m_nOverloadSensitivity = obj.m_nOverloadSensitivity;
  42. m_bPhaseSwitch = obj.m_bPhaseSwitch;
  43. m_iPhaseThreshold = obj.m_iPhaseThreshold;
  44. m_iPhaseDuration = obj.m_iPhaseDuration;
  45. m_iPhaseSensitivity = obj.m_iPhaseSensitivity;
  46. return *this;
  47. }
  48. int StVolumeParam::GetSilentNum() const
  49. {
  50. return m_iSilentDuration * GInfo.silentSensitivity();
  51. }
  52. int StVolumeParam::GetOverloadNum() const
  53. {
  54. return m_iOverloadDuration * GInfo.overloadSensitivity();
  55. }
  56. int StVolumeParam::GetPhaseNum() const
  57. {
  58. return m_iPhaseDuration * GInfo.iPhaseSensitivity();
  59. }