Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Darstellung wie in Audioeditor

  Alt 6. Sep 2005, 17:15
Hi,

vielleicht kennt ihr so Audio-Editoren wie den Nero Wave Editor. Die Stellen die Wave-Datei ja komplett als "Visualisierung" dar.

Frage: Wie kriege ich das mit der Bass.dll hin, und schreibe diese "Visualisierung" auf ein Bitmap?
(Es soll nur so eine Art Thumbnail sein.)

Ich habe es so versucht:
Delphi-Quellcode:
function TForm1.GeneratePeaks(height,width:integer;stream:HStream):TBitmap;
var i,len,r,l,ypos,xpos:integer;
var WaveData : TWaveData;
begin
  result := TBitmap.Create;
  result.Height := height;
  result.Width := width;
  for len := 0 to bass.BASS_StreamGetLength(stream) do
  begin
    BASS_ChannelSetPosition(stream,len);
    BASS_ChannelGetData(stream, @WaveData, 2048);
    for i := 0 to 255 do
    begin
       R := SmallInt(Loword(WaveData[i * 1]));
       L := SmallInt(HIword(WaveData[i * 1]));
       YPos := Trunc(((R + L) / (2 * 65535)) * 1);
       xpos := trunc(len * (width / (BASS_StreamGetLength(stream))));
       result.Canvas.LineTo(xpos,ypos-10);
    end;
  end;
end;
YPos ist irgendwie immer 0!

Danke für eure Antworten.
Miniaturansicht angehängter Grafiken
shot_459.jpg  
Andreas
  Mit Zitat antworten Zitat