OSDN Git Service

Byteとすべきところ多数発見
authoryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 11 May 2018 09:52:01 +0000 (18:52 +0900)
committeryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 11 May 2018 09:52:01 +0000 (18:52 +0900)
まだ出来上がりません同様にWAVEがないと出ます

WriteHeader.pas
wav.pas
wav_proj.dpr

index d05a6e2..31f7f78 100644 (file)
@@ -13,7 +13,7 @@ implementation
 function waveHeaderWrite(fp: TFileStream; sizeOfData: LongInt; ch: Byte;
   sampRate: LongWord; sampBits: Byte): integer;
 var
-  bytes: Word;
+  bytes: Byte;
   wrWavHdr: WrSWaveFileHeader;
   s: tWaveFormatPCM;
 begin
@@ -22,7 +22,6 @@ begin
   wrWavHdr.hdrWave := STR_WAVE;
   wrWavHdr.hdrFmt := STR_fmt;
   wrWavHdr.sizeOfFmt := SizeOf(tWaveFormatPCM);
-  wrWavHdr.stWaveFormat := s;
   s.formatTag := 1;
   s.channels := ch;
   s.sampleParSec := sampRate;
@@ -30,6 +29,7 @@ begin
   s.bytesPerSec := bytes * ch * sampRate;
   s.blockAlign := bytes * ch;
   s.bytesPerSec := sampBits;
+  wrWavHdr.stWaveFormat := s;
   wrWavHdr.hdrData := STR_data;
   wrWavHdr.sizeOfData := sizeOfData;
   fp.WriteBuffer(wrWavHdr, SizeOf(WrSWaveFileHeader));
diff --git a/wav.pas b/wav.pas
index a3d2b56..caeffc1 100644 (file)
--- a/wav.pas
+++ b/wav.pas
@@ -6,10 +6,9 @@ uses
   System.Classes, System.SysUtils;
 
 {$INCLUDE spWav}
-
 function readFmtChank(fp: TFileStream; waveFmtPcm: tWaveFormatPcm): integer;
-function wavHdrRead(wavefile: PChar; var sampRate, sampBits: SmallInt;
-  var posOfData, sizeOfData: Cardinal): integer;
+function wavHdrRead(wavefile: PChar; var sampRate: LongWord; var sampBits: Byte;
+  var posOfData, sizeOfData: LongInt): integer;
 
 implementation
 
@@ -30,8 +29,8 @@ begin
   end;
 end;
 
-function wavHdrRead(wavefile: PChar; var sampRate, sampBits: SmallInt;
-  var posOfData, sizeOfData: LongWord): integer;
+function wavHdrRead(wavefile: PChar; var sampRate: LongWord; var sampBits: Byte;
+  var posOfData, sizeOfData: LongInt): integer;
 var
   waveFileHeader: SWaveFileHeader;
   waveFmtPcm: tWaveFormatPcm;
index 17bfa24..709e2ce 100644 (file)
@@ -107,8 +107,9 @@ begin
 end;
 
 var
-  sampRate, sampBits: SmallInt;
-  posOfData, sizeOfData: LongWord;
+  sampRate: LongWord;
+  sampBits: Byte;
+  posOfData, sizeOfData: LongInt;
 
 begin
   try