Hallo ,
ich versuche mit folgenden code die werte für die fbvumeter comp. zu
bekommen , das funzt aber nur in mono also beide kanäle zeigen den gleichen
wert , kan mir jemand helfen um den wert für den rechten kanal zu berechnen ?
danke.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:
| uses AudioIO, DrawBox, FBVUMeter ;
...
type psample = ^smallint; TForm1 = class(TForm)
...
procedure TForm1.FormCreate(Sender: TObject); begin AudioIn1.BufferSize := 2048; AudioIn1.FrameRate := 44100; AudioIn1.NumBuffers := 4 ; AudioIn1.Quantization := 16 ; AudioIn1.Stereo := true ; ...
end;
...
function TForm1.AudioIn1BufferFilled(Buffer: PAnsiChar; var Size: Integer): Boolean; var i: integer; lmax , rmax :integer; p: psample; begin
p := psample(Buffer);
lmax := 0; rmax := 0; for i := 0 to (Size div 2) - 1 do begin if p^ > lmax then lmax := p^ ; inc(p); if p^ > rmax then rmax := p^ ; end; FBVUMeter1.SetValue(lmax /32000 , rmax /32000); end; |
Moderiert von
Gausi: Delphi-Tags hinzugefügt