Hi!
Ist das der ganze Code in Deiner Anwendung? Ich seh nit wie du die Bass.dll initialisierst!
Vielleicht liegts daran.
Füge doch mal folgendes in Dein Programm ein:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
// Wenn die Bass.dll nicht initalisiert werden konnte dann...
If not Bass_Init(1,44100,0,Form1.Handle,Nil) then Begin
// Fehlermeldung ausgeben
...
...
End;
end;
Und außerdem, wo öffnest Du den den Stream und definierst strs[N] ?
In Deinem Button1Click schreibst Du ja NUR den Namen der Datei in die ListBox- sonst nix!
Bevor du Bass_ChannelPlay aufrufst mußt Du den Stream öffnen!
Probier mal folgendes:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
HS:HStream;
begin
if OpenDialog1.Execute then Begin
// Stream öffnen
HS:=Bass_StreamCreateFile(False,PChar(OpenDialog1.FileName),0,0,0);
// Wenn es geklappt hat dann...
If HS<>0 then Begin
// Pfad und Name in ListBox schreiben
Listbox1.Items.Add(OpenDialog1.Filename);
// Händel des Streams merken
strs[ListBox1.Items.Count-1]:=HS;
End;
End;
end;
Du könntest aber auch das Ereignis 'OnDoubleClick' der ListBox verwenden. Dann bräuchte der User nur doppelt auf einen Eintrag klicken um eine Datei abzuspielen.
Grüße von TOC!