谁用过waveinopen函数?帮忙调试一下!

zcroot 2003-09-06 10:34:12
unit caiji;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,MMSystem;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
trecorder=class
private
Fwavefmt:Twaveformatex;
wavehandle:hwavein;
wavehdrl:pwavehdr;
wavebuffer1:lpstr;
// procedure callback(umsg,dwinstance,dwparam1,dwparam2:dword);stdcall;
end;

var
Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var recorder:trecorder;
begin
recorder:=trecorder.Create;
recorder.Fwavefmt.wFormatTag:=wave_format_pcm;
recorder.Fwavefmt.wBitsPerSample:=16; //量化位数
recorder.Fwavefmt.nSamplesPerSec:=11025; //采样速率
recorder.Fwavefmt.nAvgBytesPerSec:=22050; //每秒采样得到的数据
recorder.Fwavefmt.nBlockAlign:=2; //记录区块对齐的单位。
waveinopen(@recorder.wavehandle,wave_mapper,mailto:@recorder.Fwavefmt,dword(@trecorder.callback),dword(@recorder),callback_function+wave_allowsync);
end;

end.
错误提示:
[Error] caiji.pas(43): Undeclared identifier: 'mailto'
[Error] caiji.pas(43): Incompatible types: 'Cardinal' and 'Pointer'
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcroot 2003-09-06
  • 打赏
  • 举报
回复
waveinopen(@recorder.wavehandle,wave_mapper,mailto:@recorder.Fwavefmt,dword(@trecorder.callback),dword(@recorder),callback_function+wave_allowsync);
end;
用这个函数老是提示错误,我没有用过这个函数
[Error] caiji.pas(43): Undeclared identifier: 'mailto'
[Error] caiji.pas(43): Incompatible types: 'Cardinal' and 'Pointer'
应该如何解决以上问题,
zcroot 2003-09-06
  • 打赏
  • 举报
回复
up

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧