Mediaplayer - Automatisches Wechseln des Songs funktioniert nicht

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Mircosofter2206.

    Mediaplayer - Automatisches Wechseln des Songs funktioniert nicht

    Hallo VB-Paradise-Community, ich habe eine kleine Frage zur WMP-Control. Bin verzweifelt :( . Könnt ihr mir helfen?

    Ich mache gerade ein DJ-Programm mit zwei unabhängigen Decks, das auch einen Solo-Modus beinhaltet, sprich, man muss nicht von Hand zwischen den Decks überfaden, sondern die Deck-Playlist läuft durch.
    Um das zu realisieren, nutze ich diesen Code:

    VB.NET-Quellcode

    1. Private Sub AxWindowsMediaPlayer1_PlayStateChange(sender As Object, e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange
    2. If ListBox1.Items.Count > NowSelected1 + 1 And e.newState = WMPLib.WMPPlayState.wmppsMediaEnded And Solo Then
    3. NowSelected1 = NowSelected1 + 1
    4. ListBox1.SelectedIndex = NowSelected1
    5. Dim iou As String = List1.Item(NowSelected1)
    6. AxWindowsMediaPlayer1.URL = iou
    7. AxWindowsMediaPlayer1.Ctlcontrols.play()
    8. SetCrossFaderSettings()
    9. End If
    10. End Sub


    Nun habe ich das Problem, dass zwar der nächste Song ausgewählt und in den Player geladen wird, aber nicht losläuft. Man muss extra nochmal auf den Play-Knopf drücken.
    Habt ihr vielleich Ideen, wie ich es schaffen könnte, dass der nächste Song auch gleich losläuft?

    Mircosofter2206 ^^
    Bilder
    • Unbenannt.png

      27,29 kB, 1.040×665, 132 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mircosofter2206“ ()

    Mircosofter2206 schrieb:

    ein DJ-Programm mit


    Mircosofter2206 schrieb:

    WMP-Control


    You made my day....

    Schnapp dir lieber eine gescheite Bibliothek dafuer, das WMP-Control ist jedenfalls ungeeignet dafuer.

    Ok, nun ernsthaft, was geschieht denn in SetCrossFaderSettings? Scheinbar wird deine Bedingung erfuellt, moeglicherweise ist in dieser Methode das uebel versteckt.
    And i think to myself... what a wonderfuL World!

    Mircosofter2206 schrieb:

    aber nicht losläuft.
    Sendet der WMP ein Event, das sagt, dass das aktuelle Lied beendet wurde?
    In dieses Event musst Du bei If next_lied_vorhanden Then den Start des nächsten reintun.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Eddy schrieb:

    Ok, nun ernsthaft, was geschieht denn in SetCrossFaderSettings?


    In SetCrossFaderSettings wird lediglich die Lautstärke der WMP-Controls berechnet(Also beide Lautstärke-Regler mit dem Crossfader)

    RodFromGermany schrieb:

    Sendet der WMP ein Event, das sagt, dass das aktuelle Lied beendet wurde?
    In dieses Event musst Du bei If next_lied_vorhanden Then den Start des nächsten reintun.


    Hab ich ja schon. Mit dem folgendem Teil:

    Mircosofter2206 schrieb:

    If ListBox1.Items.Count > NowSelected1 + 1

    PS: NowSelected ist der SelectedIndex des aktuellen Songs. +1, da Count ab 1 losläuft, SelectedIndex aber ab 0