Ich möchte in mein Spiel eine sich immer wiederholende Musik einbauen.
Ich würde am liebsten dafür das MP3-Format nutzen. Leider habe ich das Problem das bei Abfrage mit "Moviestatus()" die Melodie zwar immer wiederholt wird aber es entsteht eine störende Pause bei jeder
Wiederholung. Ich habe zwar im Forum eine Lösung des Problems für Videodateien gesehen aber nicht für MP3-Dateien.
Ich hoffe da kann mir jemand helfen THX im voraus!
Ist vielleicht zu einfach gemacht, aber so kann man eine bestimmte Anzahl von Wiederholungen machen oder durch eine Repeat-Schleife endlos wiederholen lassen. Störende Knackser oder Pausen müßten evt.
durch den Minuswert angepasst werden.
;Sound ohne Pause mehrfach wiederholen
;Falko
If InitMovie() = 0
MessageRequester("Fehler", "Ist leider nicht möglich", 0)
End
EndIf
;MP3 laden und länge feststellen und eventuell den -100Wert ändern
If LoadMovie(0, "demo.mp3")
lang=(MovieLength()/10000)-100
Else
MessageRequester("Ladehemmung","konnte mp3 nicht laden")
EndIf
;
;hier spielen wir die mp3 ab, entweder mit repeat oder Anzahl Wiederholungen
OpenWindow(0,0,0,0,0,#PB_Window_BorderLess ,"")
For i=0 To 5
PlayMovie(0,WindowID())
Delay(lang)
Next i
CloseWindow(0)
Leider funtzt dieser Code auch nicht so richtig, es kommt trotzdem noch zu einer störenden Unterbrechung.
Der Rechner scheint das Lied immer wieder neu zu laden bevor er es abspielt. Doch diesen Fehler hatte ich auch mit meinem Code.
Denn meine Festplatte tut immer etwas wenn das Lied wiederholt wird.
;Sound ohne Pause mehrfach wiederholen
;Falko
If InitMovie() = 0
MessageRequester("Fehler", "Ist leider nicht möglich", 0)
End
EndIf
;MP3 laden und länge feststellen und eventuell den -100Wert ändern
If LoadMovie(0, "C:\mama.mp3")
Structure MP3INFO
fileSize.l ; in bytes
fileLength.l ; in miliseconds
bitrate.l ; in bps. if negative: variable bitrate,bitrate=negated average
frequency.l ; in Hertz
nFrames.l ; number of MPEG frames
EndStructure
mpi.MP3INFO
GetMP3Info("C:\mama.mp3", @mpi)
lang=mpi\fileLength ;Länge in MilliSekunden ermitteln
Debug lang
; lang=(MovieLength()/10000)-100
Else
MessageRequester("Ladehemmung","konnte mp3 nicht laden")
EndIf
;
;hier spielen wir die mp3 ab, entweder mit repeat oder Anzahl Wiederholungen
OpenWindow(0,0,0,0,0,#PB_Window_BorderLess ,"")
For i=0 To 5
PlayMovie(0,WindowID())
Delay(lang) ; <- hier nochwas rumfummeln (subtrahieren) bis es passt
Next i
CloseWindow(0)
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.