Thema: Delphi Sound Visualisierung

Einzelnen Beitrag anzeigen

ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#12

Re: Sound Visualisierung

  Alt 6. Jan 2007, 16:20
Ich hoffe ich bekomms heut noch hin, aber ich glaube ich bin einfach n bissel unterbelichtet.

Also ich hab das jetzt alles verbessert und eingebaut hoffe ich :
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bass, ExtCtrls, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    ProgressBars_L: TProgressBar;
    ProgressBars_R: TProgressBar;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Play_Channel : DWORD;


implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
Bass_init(-1,44100,0,handle,0);
end;


Procedure PlayFile(Filename : String);
begin
  BASS_StreamFree(Play_Channel);
  Play_Channel:= BASS_StreamCreateFile(false, PChar(Filename), 0, 0, BASS_STREAM_AUTOFREE) ;
  BASS_ChannelPlay(Play_Channel, true);
End;


Procedure Get_VULevel(var L, R : Integer);
var VUCH : DWORD; L_VU, R_VU : integer;
begin
  VUCH := BASS_ChannelGetLevel(Play_Channel); //from 0 (silent) to 32768 (max)
   L_VU := LOWORD(VUCH);
   R_VU := HIWORD(VUCH);
  if (BASS_ChannelIsActive(Play_Channel) = BASS_ACTIVE_PLAYING) then
   begin
    L:= L_VU;
    R:= R_VU;
   end else
  begin
    L:= 0;
    R:= 0;
  end;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var L, R : integer;
begin

  Get_VULevel(L,R);

  ProgressBars_L.Position:= R;
  ProgressBars_R.Position := L;

end;

end.
Nur geht es nicht.
Der Wert bleibt immer auf 0.

Und das ist auch klar ?
Zitat:
Und falls meine Frage unverständlich gestellt war: Mein Programm soll nichts abspielen sondern, die Progressbars sollen den Sound anzeigen der gerade aus den Lautsprechern kommt.
  Mit Zitat antworten Zitat