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.
Diese beiden NameSpaces müssen importiert werden.
Alles Weitere wird im Code durch die Kommentare erläutert:
Viel Spass beim Fernsteuern!
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.
Diese beiden NameSpaces müssen importiert werden.
Alles Weitere wird im Code durch die Kommentare erläutert:
VB.NET-Quellcode
- Imports WMPLib
- Imports wmpuiceLib
- Public Class Form1
- 'Stellt die Schnittstelle zum WMP dar.
- Private _wmp As New WMPApp()
- 'Diese Variable stellt eine WMP-Instanz dar (genauso zu benutzen, wie das UserControl des WMP).
- 'Auch auf die Events kann zugegriffen werden.
- Private WithEvents _player As WMPCore = Nothing
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- Try
- _player = DirectCast(_wmp.Core, WMPCore) 'Wirft eine Exception, wenn kein WMP gestartet ist.
- Catch ex As Exception
- If MessageBox.Show("Kein WMP gestartet. Starten?", "Fehler", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
- _wmp.Open() 'Windows Media Player starten
- Threading.Thread.Sleep(2000) '2 Sekunden warten, bis der Player wirklich gestartet ist.
- _player = DirectCast(_wmp.Core, WMPCore) 'player erzeugen.
- Else
- Application.Exit() 'Beenden wenn kein WMP gestartet werden soll.
- End If
- End Try
- End Sub
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- _player.controls.play() 'Akutellen Song in der PlayList abspielen.
- End Sub
- Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
- _player.URL = "URL zur MP3, Stream, Video usw." 'Player ein Medium abspielen lassen.
- End Sub
- Private Sub _player_PlayStateChange(NewState As Integer) Handles _player.PlayStateChange
- 'Hier muss invoked werden, da der Player in einem anderen Thread läuft.
- Me.Invoke(Sub(i As Integer) Me.Label1.Text = i.ToString(), New Object() {NewState})
- End Sub
- 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.
Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SpaceyX“ ()