Autor Beitrag
papst
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 30.03.09 08:42 
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.

ausblenden volle Höhe Delphi-Quelltext
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
  // Setup Audio in
  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 user profile iconGausi: Delphi-Tags hinzugefügt