Я менял datalen, нужно было еще Rifflen и InfoLen,потому что остальное одинаковое,файлы однотипные, поменял на всякий случай все:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
F:= TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
F.Read(WaveHeader, sizeof(TWaveHeader));
with WaveHeader do
begin
memo1.Lines.Text:=inttostr(dataLen);
RiffLe:=Rifflen;
InfoLe:=Infolen;
DataLe:=Datalen;
WaveTyp:=WaveType;
C:=Ch;
Fre:=Freq;
BytesPerSe:=BytesPerSec;
alig:=align;
Bit:=Bits;
for i:=0 to 10000000 do
dat[i]:=data[i];
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if opendialog1.Execute then
E:= TFileStream.Create(OpenDialog1.FileName, fmOpenReadWrite);
E.Read(WaveHeader1, sizeof(TWaveHeader1));
with WaveHeader1 do
begin
RiffLen1:=Riffle;
InfoLen1:=Infole;
DataLen1:=Datale;
WaveType1:=WaveTyp;
Ch1:=C;
Freq1:=Fre;
BytesPerSec1:=BytesPerSe;
align1:=alig;
Bits1:=Bit;
for i:=0 to 10000000 do
data1[i]:=dat[i];
E.Write(WaveHeader1, sizeof(TWaveHeader1));
end;
end;
Результата никакого, все так же