Movie endlos abspielen
Movie endlos abspielen
hallo erstmal, ich bin noch neu im forum und hab schon die erste Frage:
Ich hab jetzt meine erste Hintergrundmusik im midi-Format, die will ich natürlich endlos lange abspielen, aebr bei mir hört si e immer nach ein Mal auf.
Was muss ich machen, damit sie weiterspielt?
Ich hab jetzt meine erste Hintergrundmusik im midi-Format, die will ich natürlich endlos lange abspielen, aebr bei mir hört si e immer nach ein Mal auf.
Was muss ich machen, damit sie weiterspielt?
Also entweder du benutzt die FMod.dll oder machst das so wie ich das mal gemacht hab, als ich bei "Auroria" (das mit Nils, fals sich jemand erinnert ^^) das selbe Problem hatte:
Code: Alles auswählen
Global StopThreads.l
Procedure repeatmovie(movie.l)
Repeat
UseMovie(movie)
If MovieStatus() <= 0
PlayMovie(movie,WindowID())
EndIf
Delay(100)
Until StopThreads = 1
EndProcedure
CreateThread(@repeatmovie(),0)
...
StopThreads = 1
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Hi Tooom,
versuch es mal mit:
steht auch in der Hilfe!
mfG
Basti
//edit: Mist, Deeem war schneller...
versuch es mal mit:
Code: Alles auswählen
MovieStatus()
mfG
Basti
//edit: Mist, Deeem war schneller...
enjoy life... while you can!
Ich hoffe das hilft:
Sollte eigentlich funzen! (Allerdings habe ich es nicht mit Midi ausprobiert)
mfG
Basti
//edit: Hab's getestet, funzt mit *.midi (war mir vorher nicht sicher)
Code: Alles auswählen
;Beispielcode fuer unendliches spielen einer audiodatei
If InitMovie()
If OpenWindow(0,100,100,100,100,#PB_Window_SystemMenu,"loop music files")
movie$=OpenFileRequester("","","Musicfile | *.mid;*.midi;*.mp3;;*.ogg;*.wma",0)
;movie laden
LoadMovie(0,movie$)
;movie abspielen
PlayMovie(0,WindowID())
Repeat
;falls "das movie" gestoppt ist (bzw. auch wenn es vorbei ist vorbei ist)...
If MovieStatus()=0
;"das movie" wieder aspielen
PlayMovie(0,WindowID())
EndIf
Delay(20)
Until WindowEvent()=#PB_Event_CloseWindow
EndIf
Else
MessageRequester("Error","InitMovie()")
EndIf
mfG
Basti
//edit: Hab's getestet, funzt mit *.midi (war mir vorher nicht sicher)
enjoy life... while you can!
Hm, stimmt is mir garnicht so aufgefallen, liegt aber vielleicht auch daran das ich nur ein Movie bei dem Spiel geladen hab ^^Lars hat geschrieben:Deeem
UseMovie() und Thread in Kombination sind BÖÖÖÖSE!
Da sollte man wenigstens drauf hinweisen!
Also, sorry für meinen scheiß Code.
Wieso hat MovieStatus() eigentlich keinen Parameter? son müll ...
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Meinst du man sollte anstattLars hat geschrieben:Die ganze UseXXXX() Sache ist Müll, nur um das mal zu bemerken
Code: Alles auswählen
UseWindow()
Code: Alles auswählen
WindowID=OpenWindow(...)
...
mfG
Basti
enjoy life... while you can!
Weil esptI hat geschrieben:Warum ist das mit UseXXXX() denn Müll?
1.) unheitlich ist. Bleiben wir beim Beispiel der Movie Lib: PlayMovie
erwartet einen #MovieID Parameter, sow eit ich jetzt gesehen habe alle
anderen Befehle nicht.
2.) in Threads nicht zu gebrauchen ist, wie obiges Beispiel zeigt.
Außerdem ist es in meinen Augen unsinnig, erst mit einem extra Befehl zu
spezifizieren, mit welchen Objekt jetzt etwas geschehen soll - imho ist
eine Angabe als Parameter viel sinnvoller.
Nein, das meinte ich nicht. Ich bezog mich damit auf die Befehle, die einptI hat geschrieben:Meinst du man sollte anstatt [c]UseWindow() WindowID=OpenWindow()[/c] benutzen?
vorher in einem extra Befehl spezifiziertes Objekt beziehen.
Das was du meinst, ist auch ein wenig unsinnig, aber nicht weiter
schlimm; ein XXXXID(#ID) Befehl wäre sinnvoller, der ImageID()
Befehl erwartet ein vorhergehendes UseImage(), das aber auch schon die
gesuchte ID zurück gibt, von daher ist ImageID() in vielen Fällen unnötig.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94