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

IP电话/视频会议

开发平台:

C++ Builder

  1. // RecordSound.h: interface for the RecordSound class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_RECORDSOUND_H__EA26EF41_4169_11D6_8886_F00753C10001__INCLUDED_)
  5. #define AFX_RECORDSOUND_H__EA26EF41_4169_11D6_8886_F00753C10001__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define WM_RECORDSOUND_STARTRECORDING WM_USER+500
  10. #define WM_RECORDSOUND_STOPRECORDING WM_USER+501
  11. #define WM_RECORDSOUND_ENDTHREAD WM_USER+502
  12. #define SAMPLERSEC 8000
  13. #define MAXRECBUFFER 12
  14. #define RECBUFFER  600
  15. /*  Used for GSM wave format....
  16. #ifndef WAVE_FORMAT_GSM610
  17. #define WAVE_FORMAT_GSM610  (0X0031)
  18. #endif
  19. */
  20. #include<mmsystem.h>
  21. #include<mmreg.h>
  22. class RecordSound : public CWinThread  
  23. {
  24. DECLARE_DYNCREATE(RecordSound)
  25. CStdioFile log; 
  26. CDialog *dlg;
  27. HWAVEIN m_hRecord;
  28. /* Used for GSM wave format...
  29. struct wave
  30. {
  31. WAVEFORMATEX wfx;
  32. WORD wSamplesPerBlock;
  33. }m_WaveFormatEx;
  34. */
  35. WAVEFORMATEX m_WaveFormatEx; 
  36. BOOL recording;
  37. int isallocated;
  38. LPWAVEHDR rechead[MAXRECBUFFER];
  39. public:
  40. RecordSound();
  41. RecordSound(CDialog *dlg);
  42. virtual ~RecordSound();
  43. void GetDevProperty();
  44. BOOL InitInstance();
  45. int ExitInstance();
  46. void PreCreateHeader();
  47. void displayError(int errcode,char []);
  48. afx_msg LRESULT OnStartRecording(WPARAM wp,LPARAM lp);
  49. afx_msg LRESULT OnStopRecording(WPARAM wp,LPARAM lp);
  50. afx_msg LRESULT OnEndThread(WPARAM wp,LPARAM lp);
  51. LRESULT OnSoundData(WPARAM wParam, LPARAM lParam);
  52. LPWAVEHDR CreateWaveHeader();
  53. DECLARE_MESSAGE_MAP()
  54. };
  55. #endif // !defined(AFX_RECORDSOUND_H__EA26EF41_4169_11D6_8886_F00753C10001__INCLUDED_)