![]() |
wie gibt man mit bassdllplayer-Kompo ein lied frei?
Hallo Leute,
ich mal wieder mit der Bassdllplayer - Komponente. so spiele ich ein Lied mit Bassdllplayer ab:
Delphi-Quellcode:
wenn ich nach Liedende einen neuen Titel in den Bassdllplayer lade mach ich das nochmal genauso.
bassdllplayer1.loadfromfile(irgendein Song);
bassdllplayer1.play;
Delphi-Quellcode:
Allerdings fehlt mir da scheinbar noch ein Schritt, denn Lieder, welche schon einmal gespielt wurden (in dem Fall 'irgendein Song' und 'nächster Song'), werden auf Betriebssystemebene erst wieder freigegeben (z.B. Löschen) wenn das Programm ganz beendet wird.
bassdllplayer1.loadfromfile(nächster Song);
bassdllplayer1.play; Was mach ich da falsch? Danke schonmal |
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
spontane idee:
Delphi-Quellcode:
ich weiß es aber nicht.
bassdllplayer1.stop
|
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
ne, leider nicht.
Das hatte ich schon versucht. Trotzdem danke Dieses führt zwar zum gewünschten Erfolg, danach funzt aber gar nicht´s mehr, oder besser, ich weiß nicht wie.
Delphi-Quellcode:
ach so: ich mein das gleiche was man vergleichsweise hiermit erreicht:
Bassdllplayer1.free;
bassdllplayer1.destroy;
Delphi-Quellcode:
Mediaplayer1.close;
|
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
Hm, ja stimmt. Ich schaue mal nach. :gruebel:
// Edit: Das ist ein Problem der Bass.dll, auch in der Version 2.2. Die Resourcen also zB. die geladene Datei wird erst nach dem Aufruf von Bass_Free; freigegeben. Da kann ich an dem TBassDLLPlayer nichts ändern. |
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
könnte man das Problem irgenwie umgehen?
Dazu weiß ich zu wenig über diese Thema, aber so in der Art 1. Spiele Lied mit Bass ab 2. BassDllplayer1.free oder Bassdllplayer1.destroy 3. Jetzt irgendwie createn oder sonst wie - da fehlt mir das Wissen 4. nächstes Lied mit Bass spielen Soviel hab ich schon ausprobiert, Bassdllplayer1.free und Bassdllplayer1.destroy lösen die Verbindung zur gespielten Datei. Padavan |
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
Delphi-Quellcode:
So kannst du den BassDLLPlayer dyn. erstellen, nat. ohne die Komponente auf der Form, sonst gibts n'en Fehler.
var MyPlayer: TBassDLLPlayer;
... MyPlayer := TBassDLLPlayer.Create(Self); MyPlayer.LoadFromFile(...); MyPlayer.Play; ... MyPlayer.Free; Das müsstest du aber bei jedem Song so machen. Empfehlen würde ich das aber nicht, da ich k.A. habe wie sich das auf die Speicher-u.Cpuauslastung auswirkt. |
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin turboPascal,
was hälst du davon? Ich habe mit einem 933MHz - Rechner im Taskmanager nichts auffälliges entdeckt.... Gruß Padavan |
Re: wie gibt man mit bassdllplayer-Kompo ein lied frei?
Also ich hab mich tatsächlich mal dran gemacht und mein Programm diespezüglich modifiziert.
Soweit klappt auch das meiste recht gut, aber es gibt Zustände im meinem Programm, bei denen (aufgrund nicht gradliniger Programmierung :stupid: ) nicht einfandfrei klar ist, ob die Komponente Bassplayer nun gerade "free" oder "created" ist. Wenn man die doppelt "create n" oder "free en" will krachts - is klar. Meine Frage nun, wie bekomme ich das ordentlich raus? if Bassplayer = "free" //oder if Bassplayer = "created" Na so in der Art halt. Danke schonmal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz