|
#1
|
||||
|
||||
работа с WAV
собственно вопрос по структуре wav файла...
как из него выдрать значения амлитуды звука.....ну и другие данные... буду благодарен... |
#2
|
||||
|
||||
Код:
function ReadWaveInfo(FileName: String; Memo: TMemo): Boolean; var fs : TFileStream; b : Byte; i : Integer; w : Word; s : String; begin Result := True; try fs := TFileStream.Create(FileName, fmOpenRead); s := ''; for i := 0 to 3 do begin fs.Read(b, 1); s := s + Chr(b); end; Memo.Lines.Add('RIFF : ' + s); fs.Read(i, 4); Memo.Lines.Add('RIFF Size : ' + IntToStr(i)); s := ''; for i := 0 to 3 do begin fs.Read(b, 1); s := s + Chr(b); end; Memo.Lines.Add('WAVE : ' + s); s := ''; for i := 0 to 3 do begin fs.Read(b, 1); s := s + Chr(b); end; Memo.Lines.Add('fmt : ' + s); fs.Read(i, 4); Memo.Lines.Add('fmt Size : ' + IntToStr(i)); fs.Read(w, 2); Memo.Lines.Add('format Tag : ' + IntToStr(w)); fs.Read(w, 2); Memo.Lines.Add('nChannels : ' + IntToStr(w)); fs.Read(i, 4); Memo.Lines.Add('nSamples Per Sec : ' + IntToStr(i)); fs.Read(i, 4); Memo.Lines.Add('nAvg Bytes Per Sec : ' + IntToStr(i)); fs.Read(w, 2); Memo.Lines.Add('nBlock Align : ' + IntToStr(w)); fs.Read(w, 2); Memo.Lines.Add('nBits Per Sample : ' + IntToStr(w)); s := ''; for i := 0 to 3 do begin fs.Read(b, 1); s := s + Chr(b); end; Memo.Lines.Add('data : ' + s); fs.Read(i, 4); Memo.Lines.Add('Data Size : ' + IntToStr(i)); fs.Free; except Result := False; end; end; Не профи, но и не чайник . D6 - лучше не придумали. Пока. |
#3
|
||||
|
||||
спс большое...супер...буду дальше курсч ваять
|