![]() |
Re: Ich brauche ein Tutorial
Zitat:
Delphi-Quellcode:
if OpenDialog1.Execute then
Listbox1.Items.Add(OpenDialog1.Filename); |
Re: Ich brauche ein Tutorial
guck mam, so habe ich es jetzt gemacht :
Delphi-Quellcode:
wenn ich jetzt eine datei aus der listbox auswähle spielt er die nicht ab warum???? bzw wie kann ich amchen das er die abspielt?
unit nik;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Bass, StdCtrls, ExtCtrls, Buttons, Menus; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; ListBox1: TListBox; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private mods: array[0..128] of HMUSIC; modc: Integer; sams: array[0..128] of HSAMPLE; samc: Integer; strs: array[0..128] of HSTREAM; strc: Integer; public end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then Listbox1.Items.Add(OpenDialog1.Filename); end; procedure TForm1.Button2Click(Sender: TObject); var i: Integer; begin i := ListBox1.ItemIndex; // Play the stream (continuing from current position) if i >= 0 then if not BASS_ChannelPlay(strs[i], False) then end; end. |
Re: Ich brauche ein Tutorial
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:
Und außerdem, wo öffnest Du den den Stream und definierst strs[N] ?
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; 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:
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.
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; Grüße von TOC! |
Re: Ich brauche ein Tutorial
TOC!!!! Groooooooßen dankeschööööön.
echt danke es funktioniert. ich kann mich nicht mehr als bedanken :) :lol: jetzt noch eine frage :oops: wie kann ich das so machen das er die nacheinander abspielt, also das man nicht immer paly drücken muss? danke LG NiK!!!!!!! |
Re: Ich brauche ein Tutorial
@nikluetke
das kannst du abschalten indem du einen start parameter bei der init funktion hinzufügst. Das geht bei meiner units gans einfach: du hast eine playliste vom typ TStringList z.b. und jetzt muss du nur noch ein ereginis: OnNewSound mit einer porcedure bestetzen und Sound.NewSound in einen Timer aufrufe und fertig. und in dieser procedure kannst du dann bestimmen welche datei als nächste kommt. Ich vermute mal du hast eine ListBox als playliste dann kannst du z.b. es so machen:
Delphi-Quellcode:
Das wars schon.
procedure Tform1.ChangeSoundFile;
begin if ListBox1.ItemIndex+1 <= ListBox1.items.Count-1 then begin ListBox1.ItemIndex:=ListBox1.ItemIndex+1 ListBox1Click(sender); // musst du noch anpassen. end; end; |
Re: Ich brauche ein Tutorial
das funktioniert nicht :(
|
Re: Ich brauche ein Tutorial
Poste mal code....
|
Re: Ich brauche ein Tutorial
Hi!
Zitat:
Schick uns mal als Anhang Dein Programm. Ich würde Dir empfehlen nach dem Öffnen des Streams noch einen Sync auf das Stream-Ende zu setzen. Dann wird am Ende des Stückes automatisch die CallBack-Funktion 'SyncProc' aufgerufen, und diese Funktion kann dann das nächste Stück abspielen. Schau nun bitte doch mal in das Mini-Tutoriol hinein das ich Dir gepostet habe, da kannst Du nachlesen (im QuellCode) wie das mit den Syncs und der SyncProc funktioniert. Grüße von TOC! |
Re: Ich brauche ein Tutorial
Liste der Anhänge anzeigen (Anzahl: 1)
Hier das Programm im Anhang
|
Re: Ich brauche ein Tutorial
Was ist denn eigentlich das Problem ? :gruebel: Die GUI ?
Denn der TMediaPlayer besitzt ja alle nötigen Funktionen zum Abspielen von mp3s. Wo ich bis jetzt meine Probleme hatte, ist die PlayList. Wie kann man denn Files aus dem Explorer in die ListBox übertragen ? Aber das ist ja 'ne andere Geschichte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz