Sorry,
du hast natürlich recht, der Quelltext ist recht knapp,
hab aber nichts richtiges Vorzuweisen, da ich hin und her probiere.
Ich benutze eine Komponente die ich hier gefunden habe, in der die Bass.Dll zur Verfügung gestellt wird. Dort ist der Aufruf BassDllplayer1.Getwavedata wohl das was dir mit ChannelGetData bekannt ist.
Das ist mein letzter Versuch
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
// Draw Vis.
var
data: TFFTData;
data1: TwaveData;
i: integer;
tmpBitmap: TBitmap;
begin
data1 := BassdllPlayer1.GetwaveData;
Paintbox1.Canvas.MoveTo(0, Paintbox1.height
div 2);
for i := 0
to 255
do begin
Paintbox1.Canvas.pen.color :=
RGB(255 - i, i, 0);
Paintbox1.Canvas.LineTo(i,Paintbox1.height
div 2 - Data1[i]
div Trackbar1.position);
// als Offset quasi...
end;
(danke für´s drüber nachdenken)