请高手指点!如何用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




