CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

请高手指点!如何用API函数录制声音??

楼主nutria(我喜欢)2003-11-01 22:27:58 在 Delphi / Windows SDK/API 提问

 
  想请教一下如何不用控件直接用API函数录制wav文件??  
   
  能给帖出个例子么??  
   
  谢谢! 问题点数:0、回复次数:9Top

1 楼Cipherliu(孤鹰)回复于 2003-11-02 12:29:45 得分 0

直接用API可以录制wav文件.  
  不过你先要学习PCM编码的一些知识,再看看下面这些消息  
   
          procedure   mmwimopen(var   Msg:   TMessage);   message   MM_WIM_OPEN;  
          procedure   mmwimdata(var   Msg:   TMessage);   message   MM_WIM_DATA;  
          procedure   mmwimclose(Var   Msg:TMessage);message   MM_WIM_CLOSE;  
          procedure   mmwomopen(Var   Msg:TMessage);message   MM_WOM_OPEN;  
          procedure   mmwomdone(Var   Msg:TMessage);message   MM_WOM_DONE;  
          procedure   mmwomclose(Var   Msg:TMessage);message   MM_WOM_CLOSE;  
   
  这都是作语音必须要处理的几个消息,你可以看看帮助.  
  最好可以看看<Windows程序设计>,其中有详细的说明Top

2 楼nutria(我喜欢)回复于 2003-11-02 12:50:57 得分 0

windows程序设计?能具体推荐一本书么?Top

3 楼horse_h(小马)回复于 2003-11-02 16:18:18 得分 0

upTop

4 楼ehom(?!)回复于 2003-11-02 21:35:28 得分 0

<Windows程序设计>就是书名,看下册Top

5 楼kingisw(wjq)回复于 2003-11-03 02:52:05 得分 0

我给你电子文档,要不要?  
  Top

6 楼kingisw(wjq)回复于 2003-11-03 02:52:34 得分 0

chm格式的Top

7 楼303(吴志坤)回复于 2003-11-03 07:17:59 得分 0

我想要:hljhrbwzk@163.com     wuwzk@msn.com     谢谢了。Top

8 楼zhusongdong(大漠孤烟)回复于 2003-11-03 08:16:28 得分 0

unit   Unit1;  
   
  interface  
   
  uses  
  Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
  Dialogs,mmsystem,   StdCtrls;  
   
  type  
  TForm1   =   class(TForm)  
  Button1:   TButton;  
  Button2:   TButton;  
  Button4:   TButton;  
  SaveDialog1:   TSaveDialog;  
  procedure   Button1Click(Sender:   TObject);  
  procedure   Button2Click(Sender:   TObject);  
  procedure   Button3Click(Sender:   TObject);  
  procedure   Button4Click(Sender:   TObject);  
  private  
  {   Private   declarations   }  
  public  
  {   Public   declarations   }  
  end;  
   
  var  
  Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
      mciSendString('close   p1',0,0,0);  
      mciSendStringA('open   new   type   WAVEAudio   alias   p1',0,0,0);  
      mciSendString('record   p1',0,0,0);  
  end;  
   
  procedure   TForm1.Button2Click(Sender:   TObject);  
  begin  
      mciSendString('stop   p1',0,0,0);  
  end;  
   
  procedure   TForm1.Button3Click(Sender:   TObject);  
  begin  
      mciSendString('play   p1',0,0,0);  
  end;  
   
  procedure   TForm1.Button4Click(Sender:   TObject);  
  var   s:string;  
  begin  
      if   SaveDialog1.Execute   then  
          s:='save   p1   '+SaveDialog1.filename;  
      mciSendString(pchar(s),0,0,0);  
  end;  
   
  end.Top

9 楼nutria(我喜欢)回复于 2003-11-03 09:56:52 得分 0

to:kingisw(wjq)  
  我的邮箱   lishu2002@126.com,能发给我么?Top

相关问题

  • 请指点:函数声明
  • 请指点FindResource函数
  • api函数
  • 求API函数?
  • API函数
  • API函数
  • API 函数!
  • 我用了api函数的mcisendstring来做录音,为什么不能实现呢请高手指点
  • 请高人们指点一下,如何使用Windows API中的AnimateWindow函数,实现动态效果!!
  • 请高人们指点一下,如何使用Windows API中的AnimateWindow函数,实现动态效果!!

关键词

  • api
  • mcisendstring
  • tmessage
  • wom
  • 录制
  • tobject
  • procedure
  • tform
  • savedialog
  • wim

得分解答快速导航

  • 帖主:nutria

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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