CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  多媒体/流媒体开发

这个音频采集和回放程序那里出错了?

楼主sheepy13(asuka)2003-05-03 12:36:08 在 专题开发/技术/项目 / 多媒体/流媒体开发 提问

#include   "stdafx.h"  
  #include   "test.h"  
  #include   "mmsystem.h"  
  #include   "mmreg.h"  
  #include   "msacm.h"  
   
  #ifdef   _DEBUG  
  #define   new   DEBUG_NEW  
  #undef   THIS_FILE  
  static   char   THIS_FILE[]   =   __FILE__;  
  #endif  
   
  /////////////////////////////////////////////////////////////////////////////  
  //   The   one   and   only   application   object  
   
  CWinApp   theApp;  
   
  using   namespace   std;  
   
   
  BYTE   SampleBuf[8000*1];  
   
  HWAVEIN   m_hWaveIn;  
  HWAVEOUT   m_hWaveOut;  
  WAVEFORMATEX   waveFormat;  
   
   
  WAVEHDR   SampleHead;  
     
   
  void   CALLBACK   waveInProc(HWAVEIN   hwi,   UINT   uMsg,   DWORD   dwInstance,   DWORD   dwParam1,   DWORD   dwParam2)  
  {  
   
          if(uMsg   ==   WIM_DATA&&SampleHead.dwBytesRecorded==8000*1)  
  {  
                          waveInReset(m_hWaveIn);  
  waveInClose(m_hWaveIn);  
  cout<<"Recording   complete!";  
  }  
  }  
   
   
  void   CALLBACK   waveOutProc(HWAVEOUT   hwo,   UINT   uMsg,   DWORD   dwInstance,   DWORD   dwParam1,   DWORD   dwParam2)  
  {  
          if(uMsg   ==   WOM_DONE)  
  {  
                          waveOutReset(m_hWaveOut);    
  waveOutClose(m_hWaveOut);    
  }  
  }  
   
   
  void   GetSample()  
  {  
  char   start;  
  cout<<"Press   s   button   to   start   recording.";  
  do  
  {cin>>start;  
  }while(start!='s');  
   
                  waveInOpen(&m_hWaveIn,   WAVE_MAPPER,   &waveFormat,   (DWORD)(waveInProc),   0,   CALLBACK_FUNCTION);  
                  waveInPrepareHeader(m_hWaveIn,   &SampleHead,   sizeof(WAVEHDR));  
                  waveInAddBuffer(m_hWaveIn,   &SampleHead,   sizeof(WAVEHDR));  
                  waveInStart(m_hWaveIn);  
  }  
   
  void   PlaySample()  
  {  
  char   p;  
  cout<<"Press   p   button   to   start   playing.";  
  do  
  {cin>>p;  
  }while(p!='p');  
                  waveOutOpen(&m_hWaveOut,   WAVE_MAPPER,   &waveFormat,   (DWORD)(waveOutProc),   0,   CALLBACK_FUNCTION);    
                  waveOutPrepareHeader(m_hWaveOut,   &SampleHead,   sizeof(WAVEHDR));  
                  waveOutWrite(m_hWaveOut,   &SampleHead,     sizeof(WAVEHDR));  
  }  
   
  int   _tmain(int   argc,   TCHAR*   argv[],   TCHAR*   envp[])  
  {  
  int   nRetCode   =   0;  
   
  //   initialize   MFC   and   print   and   error   on   failure  
  if   (!AfxWinInit(::GetModuleHandle(NULL),   NULL,   ::GetCommandLine(),   0))  
  {  
  //   TODO:   change   error   code   to   suit   your   needs  
  cerr   <<   _T("Fatal   Error:   MFC   initialization   failed")   <<   endl;  
  nRetCode   =   1;  
  }  
  else  
  {  
  //   TODO:   code   your   application's   behavior   here.  
  CString   strHello;  
  strHello.LoadString(IDS_HELLO);  
  cout   <<   (LPCTSTR)strHello   <<   endl;  
  }  
   
   
  waveFormat.wFormatTag   =   WAVE_FORMAT_PCM;  
  waveFormat.nChannels   =   1;  
  waveFormat.nSamplesPerSec   =   8000;                
  waveFormat.nAvgBytesPerSec   =   8000;  
  waveFormat.nBlockAlign   =   1;  
  waveFormat.wBitsPerSample   =   8;  
  waveFormat.cbSize   =   0;  
  SampleHead.lpData   =   (PCHAR)SampleBuf;  
  SampleHead.dwBufferLength   =   8000*1;  
  SampleHead.dwBytesRecorded   =   0;  
  SampleHead.dwUser   =     0L;  
  SampleHead.dwFlags   =   0L;  
  SampleHead.dwLoops   =   0L;  
          SampleHead.lpNext   =   NULL;  
  GetSample();  
  PlaySample();  
  return   nRetCode;  
  }  
   
  程序运行后没有录放音。 问题点数:80、回复次数:1Top

1 楼xyzlxw(宇文)回复于 2003-05-09 15:39:46 得分 80

http://voiceangel.myetang.com/fister.zip  
  研究此程序Top

相关问题

  • 音频采集?
  • 100分求程序注解(API音频采集)急!!!
  • 程序出错!!!
  • 程序出错
  • 程序出错
  • 音频采集的问题
  • VB程序出错。
  • delphi程序出错
  • WinForm程序,照片采集!
  • 各位大侠!我在编译语音的采集与回放的程序时 添加的头文件 mmsystem.h编译时出错!

关键词

  • hwavein
  • samplehead
  • wavehdr
  • hwaveout
  • waveformat
  • callback
  • dword
  • sizeof
  • include

得分解答快速导航

  • 帖主:sheepy13
  • xyzlxw

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo