bytes := sampBits div 8;
s.bytesPerSec := bytes * ch * sampRate;
s.blockAlign := bytes * ch;
- s.bytesPerSec := sampBits;
+ s.bitsPerSample := sampBits;
wrWavHdr.stWaveFormat := s;
wrWavHdr.hdrData := STR_data;
wrWavHdr.sizeOfData := sizeOfData;
fp.WriteBuffer(wrWavHdr, SizeOf(WrSWaveFileHeader));
- result:=fp.Position;
+ result := fp.Position;
end;
end.
wav in 'wav.pas',
WriteHeader in 'WriteHeader.pas';
-function effect8BitWav(fpIn, fpOut: TFileStream; sizeOfData: Word): integer;
+function effect8BitWav(fpIn, fpOut: TFileStream; sizeOfData: LongInt): integer;
var
i: integer;
s: Single;
end;
end;
-function effect16BitWav(fpIn, fpOut: TFileStream; sizeOfData: Word)
+function effect16BitWav(fpIn, fpOut: TFileStream; sizeOfData: LongInt)
: integer;
var
i: integer;
end;
end;
-function wavDataWrite(fpIn, fpOut: TFileStream; posOfData, sizeOfData: LongInt;
+function wavDataWrite(fpIn, fpOut: TFileStream; sizeOfData: LongInt;
bytesPerSingleCh: SmallInt): integer;
begin
- fpIn.Seek(posOfData, soFromCurrent);
if bytesPerSingleCh = 1 then
result := effect8BitWav(fpIn, fpOut, sizeOfData)
else
result := effect16BitWav(fpIn, fpOut, sizeOfData);
end;
-function wavWrite(inFile, outFile: PChar; sampRate: LongWord; sampBits: Word;
- posOfData, sizeOfData: integer): integer;
+function wavWrite(inFile, outFile: PChar; sampRate: LongWord; sampBits: Byte;
+ sizeOfData: LongInt): integer;
var
bytesPerSingleCh: Word;
fpIn, fpOut: TFileStream;
Writeln('\83w\83b\83_\82ð\8f\91\82«\8d\9e\82ß\82Ü\82¹\82ñ');
Exit;
end;
- if wavDataWrite(fpIn, fpOut, posOfData, sizeOfData, bytesPerSingleCh) = -1
+ if wavDataWrite(fpIn, fpOut, sizeOfData, bytesPerSingleCh) = -1
then
begin
result := -1;
var
sampRate: LongWord;
sampBits: Byte;
- posOfData, sizeOfData: LongInt;
+ sizeOfData: LongInt;
begin
try
{ TODO -oUser -cConsole \83\81\83C\83\93 : \82±\82±\82É\83R\81[\83h\82ð\8bL\8fq\82µ\82Ä\82\82¾\82³\82¢ }
- wavHdrRead(PChar(ParamStr(1)), sampRate, sampBits, posOfData, sizeOfData);
+ wavHdrRead(PChar(ParamStr(1)), sampRate, sampBits, sizeOfData);
wavWrite(PChar(ParamStr(1)), PChar(ParamStr(2)), sampRate, sampBits,
- posOfData, sizeOfData);
+ sizeOfData);
Writeln('\8a®\97¹');
except
on E: Exception do