求助 acm

zhanbairu 2007-01-13 09:21:34
procedure TForm2.ACMWaveIn1Data(data: Pointer; size: Integer);
var
mdata:array[1..10000] of char;
k:integer;
begin
for k:=1 to size do
mdata[k]:=pchar(dword(data)+k-1)^;

idc.SendBuffer(mdata,size);

end;

程序运行到这里出现 access viotion at0x00458496:write of address 0x00130000
错误
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanbairu 2007-01-13
  • 打赏
  • 举报
回复
谢谢!
madyak 2007-01-13
  • 打赏
  • 举报
回复
procedure TForm2.ACMWaveIn1Data(data: Pointer; size: Integer);
var
mdata:array[1..10000] of char;
k:integer;
begin

// for k:=1 to size do
// mdata[k]:=pchar(dword(data)+k-1)^;

//mdata装的随机,初始化成0
FillChar(mdata[1],10000,0);

Move(data^,mdata[1],size);

//idc.SendBuffer(mdata,size);
idc.SendBuffer(mdata[1],size);
end;

把缓冲区清零。

播放端最好是开一个接收缓冲区,当缓冲区中有足够的数据时,才播放。
zhanbairu 2007-01-13
  • 打赏
  • 举报
回复
数据是能够收到了,
但是听到的是卡,卡的声音
madyak 2007-01-13
  • 打赏
  • 举报
回复
procedure TForm2.ACMWaveIn1Data(data: Pointer; size: Integer);
var
mdata:array[1..10000] of char;
k:integer;
begin

// for k:=1 to size do
// mdata[k]:=pchar(dword(data)+k-1)^;
Move(data^,mdata[1],size);

//idc.SendBuffer(mdata,size);
idc.SendBuffer(mdata[1],size);
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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