Programmgesteuertes Erstellen des Windows Medienwiedergabe-Steuerelements
[Das dieser Seite zugeordnete Feature Windows Medienwiedergabe SDK ist ein Legacyfeature. Es wurde von MediaPlayer ersetzt. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, nach Möglichkeit für neuen Code MediaPlayer anstelle von Windows Medienwiedergabe SDK zu verwenden. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Wenn Sie das Windows Medienwiedergabe-Steuerelement einem Formular aus der Toolbox hinzufügen, wird ein Objekt der Klasse AxWMPLib.AxWindowsMediaPlayer erstellt. Diese Wrapperklasse bietet dem Player die gesamte Funktionalität eines ActiveX-Steuerelements, einschließlich des Zugriffs auf Ui-Eigenschaften wie Location und Size.
Wenn Sie die von AxWindowsMediaPlayer verfügbar gemachten Eigenschaften nicht benötigen oder ihre Anwendung keine grafische Benutzeroberfläche aufweist, können Sie programmgesteuert ein Player-Steuerelement erstellen. In diesem Fall erstellen Sie ein Objekt der WMPLib.WindowsMediaPlayer-Klasse .
Hinweis
Da das WindowsMediaPlayer-Objekt nicht als ActiveX-Steuerelement umschlossen wird, verfügt es über keine eigenschaften, die von System.Windows.Forms.Control geerbt wurden. Daher wird die Controls-Eigenschaft nicht wie in AxWindowsMediaPlayer in CtlControls umbenannt.
Um das Windows Medienwiedergabe-Steuerelement programmgesteuert zu erstellen, müssen Sie zunächst einen Verweis auf wmp.dll hinzufügen, der sich im Ordner \Windows\system32 befindet. Durch das Hinzufügen dieses Verweises wird WMPLib.dll in Ihrem Projektordner erstellt, und ein Verweis auf WMPLib wird in Projektmappen-Explorer angezeigt.
Der folgende Beispielcode, der Teil einer Form1-Klasse ist, zeigt, wie ein Player-Objekt erstellt und eine Datei wiedergegeben wird. Wenn die Wiedergabe endet oder die Datei nicht wiedergegeben werden kann, wird das Formular geschlossen.
Dim WithEvents Player As WMPLib.WindowsMediaPlayer
Private Sub PlayFile(ByVal url As String)
Player = New WMPLib.WindowsMediaPlayer
Player.URL = url
Player.controls.play()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
' TODO Insert a valid path in the line below.
PlayFile("c:\media\myaudio.wma")
End Sub
Private Sub Player_MediaError(ByVal pMediaObject As Object) _
Handles Player.MediaError
MessageBox.Show("Cannot play media file.")
Me.Close()
End Sub
Private Sub Player_PlayStateChange(ByVal NewState As Integer) _
Handles Player.PlayStateChange
If NewState = WMPLib.WMPPlayState.wmppsStopped Then
Me.Close()
End If
End Sub
WMPLib.WindowsMediaPlayer Player;
private void PlayFile(String url)
{
Player = new WMPLib.WindowsMediaPlayer();
Player.PlayStateChange +=
new WMPLib._WMPOCXEvents_PlayStateChangeEventHandler(Player_PlayStateChange);
Player.MediaError +=
new WMPLib._WMPOCXEvents_MediaErrorEventHandler(Player_MediaError);
Player.URL = url;
Player.controls.play();
}
private void Form1_Load(object sender, System.EventArgs e)
{
// TODO Insert a valid path in the line below.
PlayFile(@"c:\myaudio.wma");
}
private void Player_PlayStateChange(int NewState)
{
if ((WMPLib.WMPPlayState)NewState == WMPLib.WMPPlayState.wmppsStopped)
{
this.Close();
}
}
private void Player_MediaError(object pMediaObject)
{
MessageBox.Show("Cannot play media file.");
this.Close();
}
Zugehörige Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für