Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

mp3-Dateien in Listbox nacheinander abspielen

Edgar Rau / 4 Antworten / Flachansicht Nickles

Hallo zusammen,

ich habe 'mal wieder eine Frage in Visual Basic  6.

Ich habe ein kleines Programm erstellt, mit dem ich mp3's suchen und in einer Listbox anzeigen lassen kann. Dann habe ich eine zweite Listbox eingefügt, in die ich ausgewählte mp3's aus der ersten Listbox kopieren kann, dass soll eine Playliste werden.

Ich schaffe es aber einfach nicht, alle ausgewählten mp3's abspielen zu lassen.

Wenn ich folgenden Code ausführe:

Dim x As Integer
x = 0
For x = 0 To List1.ListCount - 1
List1.ListIndex = x
Me.WindowsMediaPlayer1.URL = List1
Next x

wird nur der letzte Song abgespielt.

Füge ich allerdings eine msgbox ein:

Dim x As Integer
x = 0
For x = 0 To List1.ListCount - 1
List1.ListIndex = x
Me.WindowsMediaPlayer1.URL = List1
MsgBox x
Next x

wird das erste Lied gespielt und es erscheint die MsgBox mit "0". Wenn ich dann auf OK klicke, wird das zweite Lied gespielt und es erscheint wieder die MsgBox, diesmal mit "1".

wie kann ich erreichen, dass alle Lieder problemlos abgespielt werden.

Vielen Dank für Eure Hilfe

Gruß Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Borlander Edgar Rau „mp3-Dateien in Listbox nacheinander abspielen“
Optionen

Das schaut ganz so aus als würde der Mediaplayer sofort auf ein Setzen der URL reagieren und diese abspielen, ohne dabei zu blockieren.

Ich habe leider spontan keine Dokumentation zu dieser Klasse/UI-Komponente gefunden, aber grundsätzlich wird es da mindestens eine der folgenden Möglichkeiten geben:

  • Du kannst direkt eine PlayList übergeben - wäre die beste Lösung
  • Du kannst einen Event-Handler definieren der ausgeführt wird wenn das Ende der gewählten Medienquelle erreicht ist. (Dann bräuchtest Du nur eine Liste und einen Index um die Wiedergabe zu steuern)
  • Du kannst den Zustand abfragen und wartest bis keine Wiedergabe mehr erfolgt. Das ist aber eher scheisse und sorgt im Zweifelsfall, dass überhaupt keine Benutzer-Interaktion mehr möglich ist wenn der Gui-Thread dadurch blockiert wird. Schlimmstenfalls noch durch aktives Warten…
bei Antwort benachrichtigen