OSDN Git Service

完成です
authoryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 11 May 2018 09:02:49 +0000 (18:02 +0900)
committeryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 11 May 2018 09:02:49 +0000 (18:02 +0900)
spWave.pas [new file with mode: 0644]
wav.pas
wav_proj.dpr

diff --git a/spWave.pas b/spWave.pas
new file mode 100644 (file)
index 0000000..823e734
--- /dev/null
@@ -0,0 +1,28 @@
+
+type
+  SWaveFileHeader = record
+    hdrRiff: array [0 .. 3] of AnsiChar;
+    sizeOfFile: Cardinal;
+    hdrWave: array [0 .. 3] of AnsiChar;
+  end;
+
+  tChank = record
+    hdrFmtData: array [0 .. 3] of AnsiChar;
+    sizeOfFmtData: LongWord;
+  end;
+
+  tWaveFormatPcm = record
+    formatTag: Word;
+    channels: Word;
+    samplePerSec: LongWord;
+    bytesPerSec: LongWord;
+    blockAlign: Word;
+    bitsPerSample: Word;
+  end;
+
+const
+  STR_RIFF = 'RIFF';
+  STR_WAVE = 'WAVE';
+  STR_fmt = 'fmt ';
+  STR_DATA = 'data';
+  _MAX_PATH = 255;
\ No newline at end of file
diff --git a/wav.pas b/wav.pas
index 3759926..a3d2b56 100644 (file)
--- a/wav.pas
+++ b/wav.pas
@@ -31,7 +31,7 @@ begin
 end;
 
 function wavHdrRead(wavefile: PChar; var sampRate, sampBits: SmallInt;
-  var posOfData, sizeOfData: Cardinal): integer;
+  var posOfData, sizeOfData: LongWord): integer;
 var
   waveFileHeader: SWaveFileHeader;
   waveFmtPcm: tWaveFormatPcm;
index 805ce3f..013d40a 100644 (file)
@@ -13,7 +13,7 @@ function effect8BitWav(fpIn, fpOut: TFileStream; sizeOfData: Word): integer;
 var
   i: integer;
   s: Single;
-  c: array [0 .. 1] of Word;
+  c: array [0 .. 1] of Byte;
 begin
   result := 0;
   i := 0;
@@ -38,7 +38,7 @@ function effect16BitWav(fpIn, fpOut: TFileStream; sizeOfData: integer)
 var
   i: integer;
   s: Single;
-  c: array [0 .. 1] of SmallInt;
+  c: array [0 .. 1] of ShortInt;
 begin
   result := 0;
   i := 0;
@@ -58,7 +58,7 @@ begin
   end;
 end;
 
-function wavDataWrite(fpIn, fpOut: TFileStream; posOfData, sizeOfData: integer;
+function wavDataWrite(fpIn, fpOut: TFileStream; posOfData, sizeOfData: LongInt;
   bytesPerSingleCh: SmallInt): integer;
 begin
   fpIn.Seek(posOfData, soFromCurrent);