WaveShow.h
上传用户:oldpeter23
上传日期:2013-01-09
资源大小:1111k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*------------------------------------------------------------------------------*
  2.  =============================
  3.    模块名称: WaveShow.h
  4.  =============================
  5.  [目的]
  6.  
  7.      用波形显示PCM声音数据
  8.         
  9.  [描述]
  10.  可以以波形方式显示声音数据,并可以设置背景颜色,波线颜色。
  11.   
  12.  [用法]
  13.    
  14.     1.先构造对象
  15. 2.设置矩形区域、声音格式
  16. 3.调用Paint函数显示波形
  17.  
  18.  [依赖性]
  19.  
  20.  [修改记录]
  21.  
  22.   版本:    1.01.01
  23.   日期:    01-11-6         
  24.   作者:    Brant Q
  25.   备注:
  26.      目前该类之支持8位PCM格式数据
  27.   版本:    1.01.02
  28.   日期:    01-11-12
  29.   作者:    Brant Q
  30.   备注:
  31.      
  32.  现在已经支持8位单双声道和16位单双声道PCM
  33.  
  34.   -----------------------------------------------------------------------------
  35.  [版权]
  36.  
  37.    2000-2002  115软件工厂  版权所有
  38.                                               
  39. *------------------------------------------------------------------------------*/
  40. #ifndef _WAVESHOW_H_
  41. #define _WAVESHOW_H_
  42. class CWaveShow:public CWndX
  43. {
  44. public:
  45. CWaveShow();
  46. COLORREF GetLineColor();
  47. void SetLineColor(COLORREF cr);
  48. COLORREF GetBgColor();
  49. void SetBgColor(COLORREF cr);
  50. BOOL Create(RECT &rc,HWND hParent);
  51. void GetFormat(WAVEFORMATEX& fmt);
  52. void SetFormat(WAVEFORMATEX* pfmt);
  53. virtual  ~CWaveShow();
  54. BOOL Paint(HDC hdc,char* buf,unsigned uSize);
  55. protected:
  56. virtual LRESULT WndProc(UINT uMsg,WPARAM wParam,LPARAM lParam);
  57. virtual void OnPaint();
  58. HPEN m_hpLine;
  59. HBRUSH m_hbBg;
  60. HBITMAP m_hBmp;
  61. COLORREF m_crLine;
  62. COLORREF m_crBg;
  63. WAVEFORMATEX m_Format;
  64. };
  65. #endif