您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

VC实现录音,放音,保存,打开功能

来源:网络收集 责任编辑:栏目编辑 发表时间:2013-07-01 10:28 点击:
     前一段时间写一个录音功能的DLL,找了N久,发现N多例子都非常麻烦!现在功能DLL做完了,总结一下贴出来大家看看.

  实现了录音,放音,打开,保存功能.非常简单,使用的是MSDN里面的MCIWnd来实现的.唉~废话少说了,还是看代码吧!

  用VC建立一个Dialog,加入N个按钮.我的Dialog叫Wav3是测试用的.所以懒得弄名字了,下面也有一个些名字写的不怎么样.

  全局的HWND g_hWndMCIWnd;    //因为懒得传来传去就全局好了

  先是初始化函数


  void CWav3Dlg::OnButtonInit()
  {

  MCIWndClose(g_hWndMCIWnd);    //这个是为了打开一个声音的之前关闭以前的声音,应该先加一个判断好了.

  g_hWndMCIWnd = MCIWndCreate(this->m_hWnd,::AfxGetApp()->m_hInstance,WS_CAPTION,NULL);    //创建句柄要说的是最后一个参数,如果是NULL,就新建一个,如果是一个文件的路径,就打开它.但是都要使用下面的MCIWndNew来开内存


  MCIWndNew(g_hWndMCIWnd,"waveaudio");   
  }

  初始化完了之后马上就可以录音了,下面就是录音函数


  void CWav3Dlg::OnButtonRec()
  {
  if(MCIWndCanRecord(g_hWndMCIWnd))    //这里是判断是否可以录音
  {
  MCIWndRecord(g_hWndMCIWnd);    //录音就这个函数,很简单
  }
  else
  {
  AfxMessageBox("error #01");    //这个错误报告很垃圾的,不建议用,不过测试用还可以.
  }
  }

  录音开始了,接下来就是停止,不停止还了得~!
  void CWav3Dlg::OnButtonRecStop()         //这个停止函数不是只可以用在录音的,播放录音时也可以使用它来停止.


  {
  MCIWndStop(g_hWndMCIWnd);    //别怀疑,就这么简单
  }

  录完声音了,播放试试,这个播放也可以播放从硬盘打开的声音文件.


  void CWav3Dlg::OnButtonPlay()
  {
  if(MCIWndCanPlay(g_hWndMCIWnd))    //这里判断有没有可以播放的东西
  {

  OK,已经完成了!打开就不用说了,直接传一个文件路径给初始化的最后一个参数就行了.
  还有就是最后在善后的时候不要忘了执行一个MCIWndClose(g_hWndMCIWnd).

  

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1