if waveFmtPcm.channels <> 2 then
begin
Writeln('\83X\83e\83\8c\83I\83t\83@\83C\83\8b\82ð\91Î\8fÛ\82Æ\82µ\82Ä\82¢\82Ü\82·');
- Writeln('\83`\83\83\83\93\83l\83\8b\90\94\82Í',waveFmtPcm.channels);
- result:=-1;
+ Writeln('\83`\83\83\83\93\83l\83\8b\90\94\82Í', waveFmtPcm.channels);
+ result := -1;
end;
if waveFmtPcm.formatTag <> 1 then
begin
Writeln('\96³\88³\8fk\82ÌPCM\82Ì\82Ý\91Î\8fÛ');
- Writeln('\83t\83H\81[\83}\83b\83g\8c`\8e®\82Í',waveFmtPcm.formatTag);
- result:=-1;
+ Writeln('\83t\83H\81[\83}\83b\83g\8c`\8e®\82Í', waveFmtPcm.formatTag);
+ result := -1;
end;
- if (waveFmtPcm.bitsPerSample <> 8)and(waveFmtPcm.bitsPerSample <> 16) then
+ if (waveFmtPcm.bitsPerSample <> 8) and (waveFmtPcm.bitsPerSample <> 16) then
begin
Writeln('8/16\83r\83b\83g\82Ì\82Ý\91Î\8fÛ');
- Writeln('bit/sec\82Í',waveFmtPcm.bitsPerSample);
- result:=-1;
+ Writeln('bit/sec\82Í', waveFmtPcm.bitsPerSample);
+ result := -1;
end;
except
on EReadError do
waveFileHeader: SWaveFileHeader;
waveFmtPcm: tWaveFormatPcm;
chank: tChank;
- len: integer;
+ fPos, len: integer;
fp: TFileStream;
begin
try
begin
len := chank.sizeOfFmtData;
Writeln('fmt \82Ì\92·\82³', len, '[bytes]');
+ fPos := fp.Position;
if readFmtChank(fp, waveFmtPcm) <> 0 then
begin
result := -1;
end;
sampRate := waveFmtPcm.sampleParSec;
sampBits := waveFmtPcm.bytesPerSec;
+ fp.Seek(fPos + len, soFromBeginning);
end
else if CompareStr(chank.hdrFmtData, STR_data) = 0 then
begin
sizeOfData := chank.sizeOfFmtData;
Writeln('data\82Ì\92·\82³:', sizeOfData, '[bytes]');
posOfData := fp.Position;
- fp.Seek(sizeOfData - 4, soCurrent);
+ fp.Seek(fPos + len, soFromBeginning);
break;
end
else
begin
len := chank.sizeOfFmtData;
Writeln(chank.hdrFmtData, '\82Ì\92·\82³[bytes]', len);
+ fPos := fp.Position;
fp.Seek(len, soFromCurrent);
end;
end;