您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> Visual C >> 正文

Google
Windows环境下的麦克风录音系统
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 11:37:42
Cur;
    ULONG              m_ulDataSize;
    CHAR*              m_pResourceBuffer;   
protected:
    HRESULT ReadMMIO();
    HRESULT WriteMMIO( WAVEFORMATEX *pwfxDest );

public:
    CWaveFile();
    ~CWaveFile();

    HRESULT Open( LPCTSTR strFileName, WAVEFORMATEX* pwfx, DWORD dwFlags );
    HRESULT OpenFromMemory( BYTE* pbData, ULONG ulDataSize,
                                                        WAVEFORMATEX* pwfx, DWORD dwFlags );
    HRESULT Close();

    HRESULT Read( BYTE* pBuffer, DWORD dwSizeToRead, DWORD* pdwSizeRead );
    HRESULT Write( UINT nSizeToWrite, BYTE* pbData, UINT* pnSizeWrote );

    DWORD   GetSize();
    HRESULT ResetFile();
    WAVEFORMATEX* GetFormat() { return m_pwfx; };
};

我们有了这两个强有力的类的支持就可以开始我们的编程工作了….
   1.用VC6++建立一个MFC基于对话框的工程:MicDemo;
   2.添加我们的两个类CSoundIn,CwaveFile;
         
   3.当我们点击开始(Start)按钮的时候我们就要开始录音了…

         void CMicDemoDlg::OnStart()
        {
 // TODO: Add your control notification handler code here
 
 m_btnStart.EnableWindow(FALSE);
 
 if(theSoundCapture().__initMic())
 {
       m_filePath.SetWindowText(_T("yangchen.wav."));
        
       theSoundCapture().__createOutputWaveFile(_T("yangchen.wav"));
     
                     if(!theSoundCapture().__openMic())
       {
         ::MessageBox(this->m_hWnd,
                                               _T("Can not open microphone!"),
                                               _T("Error"),MB_OK|MB_ICONERROR);
          return;
       }
 }
 
 m_btnStop.EnableWindow(TRUE);
             
              // 设置定时器是为

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

相关专题:
 
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
GOOGLE广告

阅读排行

| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
中国教师站

中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
[备用域名:www.JXZYW.Com] 有事请留言有事请留言
【实力成就精品 诚信呵护品牌】

信息产业部备案
苏ICP备06018635号