Volume.cpp
上传用户:panstart
上传日期:2022-04-12
资源大小:199k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

C++ Builder

  1. ////////////////////////////////////////////////////////////////////////////
  2. //
  3. //
  4. //    Project     : VideoNet version 1.1.
  5. //    Description : Peer to Peer Video Conferencing over the LAN.
  6. //   Author      : Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
  7. //    Date        : 15-6-2004.
  8. //
  9. //
  10. //    File description : 
  11. //    Name    : Volume.cpp
  12. //    Details : Volume control dialog class
  13. //
  14. //
  15. /////////////////////////////////////////////////////////////////////////////
  16. #include "stdafx.h"
  17. #include "VideoNet.h"
  18. #include <mmsystem.h>
  19. #include <afxcmn.h>
  20. #include "Mixer.h"
  21. #include "Volume.h"
  22. #include "Resource.h"
  23. //////////////////////////////////////////////////////////////////////
  24. // Construction/Destruction
  25. //////////////////////////////////////////////////////////////////////
  26. BEGIN_MESSAGE_MAP(Volume,CDialog)
  27. ON_WM_HSCROLL()
  28. END_MESSAGE_MAP()
  29. Volume::Volume(int n):CDialog(n)
  30. {
  31. }
  32. BOOL Volume::OnInitDialog()
  33. {
  34. int min,max;
  35. //Volume control for recording 
  36. mixrec=new CMixer(MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, CMixer::Record,min,max);
  37. srec=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
  38. srec->SetRange(min,max);
  39. int pos=mixrec->GetVolume();
  40. srec->SetPos(pos);
  41. //Volume control for playing 
  42. mixplay=new CMixer(MIXERLINE_COMPONENTTYPE_DST_SPEAKERS ,CMixer::Play,min,max);
  43. splay=(CSliderCtrl*)GetDlgItem(IDC_SLIDER2);
  44. splay->SetRange(min,max);
  45. pos=mixplay->GetVolume();
  46. splay->SetPos(pos);
  47. return TRUE;
  48. }
  49. //
  50. //  Invoked when slider pointer is changed...
  51. //
  52. void Volume::OnHScroll(UINT code,UINT pos,CScrollBar *scroll)
  53. {
  54. int vol;
  55. if(srec==(CSliderCtrl*)scroll)
  56. {
  57. vol=srec->GetPos();
  58. mixrec->SetVolume(vol);
  59. }
  60. if(splay==(CSliderCtrl*)scroll)
  61. {
  62. vol=splay->GetPos();
  63. mixplay->SetVolume(vol);
  64. }
  65. }