Derzeit experimentiere ich mal wieder mit der MCISend Funktion von XProfan. Eine MP3 Datei soll in der Schleife abgespielt werden. Da während des Abspielens das Programm weiter abarbeitet, muss vor dem nächsten PLAY Befehl zunächst gewartet (geprüft) werden, ob die Datei noch spielt, sonst funktioniert die Schleife nicht. Das geht mit zwei unterschiedlichen Methoden: While/EndWhile Schleife nebst Statusprüfung oder per Play 'song' Wait Befehl direkt via MCISend (siehe Code unten).
Problem bei dieser Sache: Dieser Vorgang lässt sich nicht unterbrechen! Gibt es hier eine elegante Variante, die das trotzdem erlaubt?
Code
Declare sound$, i&, loop&
WindowTitle "MP3 - Musik in der Schleife"
Window 20,20-600,400
Cls
sound$ ="sound.mp3"
'Möglichkeit 1 per WhileNot/EndWhile Schleife
loop& = 3
i& = 0
While i& < 3
'Laden und abspielen
Print MciSend$("open \q" + sound$ +"\q type mpegvideo alias mysong")
MciSend$("play mysong")
'Warten bis Sound abgespielt ist
WhileNot MciSend$("status mysong mode") = "stopped"
Endwhile
i& = i& + 1
MciSend$("close mysong")
Endwhile
MciSend$("close mysong")
WaitInput
'Möglichkeit 1 per MCISEND wait - Flag
Print "fertig"
i& = 0
While i& < 3
'Laden und abspielen
Print MciSend$("open \q" + sound$ +"\q type mpegvideo alias mysong")
MciSend$("play mysong wait")
i& = i& + 1
MciSend$("close mysong")
Endwhile
MciSend$("close mysong")
End
Alles anzeigen