Externen Windows Media Player fernsteuern

    • Allgemein

      Externen Windows Media Player fernsteuern

      Hey,

      hier im Forum war schon öfter die Frage, wie man einen externen (nicht als Control auf der Form) Windows Media Player fernsteuern kann. Ich werde kurz darstellen, wie man dies bewerkstelligen kann.

      Vorbereitungen

      Ladet euch hier mediatexx.com/download/addons.htm WMPuICE plugin for Windows Media Player 9 herunter. Funktioniert auch mit späteren Versionen des WMP. Ich nutze ihn selbst nicht und bin daher nicht auf dem Laufenden, welcher akutell ist. Der bei Win7 mitgelieferte geht auf jeden Fall.

      Nach dem Download habt ihr eine .zip-Datei -> diese entpacken und die install.bat ausführen. Dies registriert die .dll auf eurem System.


      Benutzung

      Macht einen Rechtsklick im Projektmappenexplorer -> Verweis hinzufügen -> COM -> wmpuice.dll (wmpuice 1.0 Type Library)

      Macht einen Rechtsklick im Projektmappenexplrer -> Verweis hinzufügen -> COM -> jetzt wmp.dll (Windows Media Player) auswählen.

      VB.NET-Quellcode

      1. Imports WMPLib
      2. Imports wmpuiceLib
      3. Public Class Form1
      4. End Class


      Diese beiden NameSpaces müssen importiert werden.

      Alles Weitere wird im Code durch die Kommentare erläutert:

      VB.NET-Quellcode

      1. Imports WMPLib
      2. Imports wmpuiceLib
      3. Public Class Form1
      4. 'Stellt die Schnittstelle zum WMP dar.
      5. Private _wmp As New WMPApp()
      6. 'Diese Variable stellt eine WMP-Instanz dar (genauso zu benutzen, wie das UserControl des WMP).
      7. 'Auch auf die Events kann zugegriffen werden.
      8. Private WithEvents _player As WMPCore = Nothing
      9. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
      10. Try
      11. _player = DirectCast(_wmp.Core, WMPCore) 'Wirft eine Exception, wenn kein WMP gestartet ist.
      12. Catch ex As Exception
      13. If MessageBox.Show("Kein WMP gestartet. Starten?", "Fehler", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
      14. _wmp.Open() 'Windows Media Player starten
      15. Threading.Thread.Sleep(2000) '2 Sekunden warten, bis der Player wirklich gestartet ist.
      16. _player = DirectCast(_wmp.Core, WMPCore) 'player erzeugen.
      17. Else
      18. Application.Exit() 'Beenden wenn kein WMP gestartet werden soll.
      19. End If
      20. End Try
      21. End Sub
      22. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      23. _player.controls.play() 'Akutellen Song in der PlayList abspielen.
      24. End Sub
      25. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
      26. _player.URL = "URL zur MP3, Stream, Video usw." 'Player ein Medium abspielen lassen.
      27. End Sub
      28. Private Sub _player_PlayStateChange(NewState As Integer) Handles _player.PlayStateChange
      29. 'Hier muss invoked werden, da der Player in einem anderen Thread läuft.
      30. Me.Invoke(Sub(i As Integer) Me.Label1.Text = i.ToString(), New Object() {NewState})
      31. End Sub
      32. End Class


      Viel Spass beim Fernsteuern!
      Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
      Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

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