Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - bass.dll ausgewählen Eintrag abspielen
Tony-S - Mi 07.10.09 21:43
Titel: bass.dll ausgewählen Eintrag abspielen
Hallo Community, ich möchte über eine Listbox einen ausgewählten Titel mittels bass.dll abspielen und komme irgendwie nicht weiter:
Die Titel hinzufügen ist ja noch einfach:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var I: integer; begin if OpenDialog1.Execute=True then
begin for I := 0 to OpenDialog1.Files.Count-1 do Listbox1.Items.add(Opendialog1.Files[i]); end;
end; |
Das Problem liegt allerdings beim abspielen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Btn_PlayClick(Sender: TObject); begin track:= BASS_StreamCreateFile(FALSE, pchar( ), 0, 0, 0); BASS_ChannelPlay(track, False); end; |
Würde mich freuen wenn mir jemand helfen kann :) .
---
Moderiert von
Narses: Beiträge zusammengefasst---
Ach verdammt, das passiert mir so oft, ich eröffne n Thread und komme dann selbst drauf
-_-:
so z. B. spielt man einen ausgewählten Titel ab:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var i:integer; begin for I := 0 to Listbox1.Items.Count -1 do
track:= BASS_StreamCreateFile(FALSE, pchar(Listbox1.Items [i]), 0, 0, 0); BASS_ChannelPlay(track, False); end; |
Der Thread kann eigentlich gelöscht werden, aber vllt hilfts ja jemanden weiter ^^.
Gausi - Mi 07.10.09 21:53
Zuerstmal: das
Listbox1.Items.add(extractfilename(Opendialog1.Files[i])); wäre eine ganz doofe Idee. Mag zwar in der Listbox besser aussehen, aber dann weiß man hinterher nicht mehr, wo die Datei zu finden ist.
Besser: Daten und Anzeige trennen. Wie man das macht, steht in meinem
Tutorial [
http://www.delphi-library.de/topic_MeMP++Mein+einfacher+Mp3Player_80555.html].
Zum zweiten Beitrag: Nein, so spielt man den letzten Titel ab, da sämtliche BASS_StreamCreateFile in der Schleife am Ende für die Katz waren. ;-)
Tony-S - Mi 07.10.09 21:58
Danke, dein Tutorial werde ich mir noch ansehen :).
Und das mit dem letzten Titel hab ich just in dem Moment gemerkt als ich mal 2 Lieder hinzugefügt hab :D, ok nur weiß ich jetzt nich wie ich sonst den aus gewählten Titel abspiele.
Gausi - Mi 07.10.09 22:03
Es gibt da noch die Eigenschaft Selected oder so ähnlich, mit der man abfragen kann, ob ein Eintrag markiert ist.
Tony-S - Mi 07.10.09 22:10
Ok habs hinbekommen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var i:integer; begin for I := 0 to Listbox1.Items.Count -1 do if ListBox1.Selected[I]=True then begin BASS_ChannelStop(track); track:= BASS_StreamCreateFile(FALSE, pchar(Listbox1.Items [i]), 0, 0, 0); BASS_ChannelPlay(track, False); end; end; |
Wenn das irgendwie unschön gelöst is oder so, bitte korrigieren =)
Und thx für deine Hilfe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!