AxWindowsMediaPlayer 对象的 CurrentPlaylistChange 事件
[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
当当前播放列表中的某些内容发生更改时,将发生 CurrentPlaylistChange 事件。
[C#]
private void player_CurrentPlaylistChange(
object sender,
_WMPOCXEvents_CurrentPlaylistChangeEvent e
)
[Visual Basic]
Private Sub player_CurrentPlaylistChange(
sender As Object,
e As _WMPOCXEvents_CurrentPlaylistChangeEvent
) Handles player.CurrentPlaylistChange
事件数据
与此事件关联的处理程序的类型为 AxWMPLib._WMPOCXEvents_CurrentPlaylistChangeEventHandler。 此处理程序接收 AxWMPLib._WMPOCXEvents_CurrentPlaylistChangeEvent 类型的参数,其中包含与此事件相关的以下属性。
属性 | 说明 |
---|---|
更改 | WMPLib.WMPPlaylistChangeEventType 枚举值,指示对播放列表发生的更改类型。 |
备注
当其他播放列表成为当前播放列表时,不会发生此事件。 仅当当前播放列表中发生更改(例如追加到播放列表的媒体项)时,才会发生此情况。
示例
以下示例显示当前播放列表中所有媒体项的名称,以响应 CurrentPlaylistChange 事件。 AxWMPLib.AxWindowsMediaPlayer 对象由名为 player 的变量表示。
// Add a delegate for the CurrentPlaylistChange event.
player.CurrentPlaylistChange += new AxWMPLib._WMPOCXEvents_CurrentPlaylistChangeEventHandler(player_CurrentPlaylistChange);
private void player_CurrentPlaylistChange(object sender, AxWMPLib._WMPOCXEvents_CurrentPlaylistChangeEvent e)
{
switch(e.change)
{
// Only update the list for the move, delete, insert, and append event types.
case WMPLib.WMPPlaylistChangeEventType.wmplcMove: // Value = 3
case WMPLib.WMPPlaylistChangeEventType.wmplcDelete: // Value = 4
case WMPLib.WMPPlaylistChangeEventType.wmplcInsert: // Value = 5
case WMPLib.WMPPlaylistChangeEventType.wmplcAppend: // Value = 6
// Create a string array large enough to hold all of the media item names.
int count = player.currentPlaylist.count;
string[] mediaItems = new string[count];
// Clear any previous contents of the text box.
playlistItems.Clear();
// Loop through the playlist and store each media item name.
for (int i = 0; i < count; i++)
{
mediaItems[i] = player.currentPlaylist.get_Item(i).name;
}
// Display the media item names.
playlistItems.Lines = mediaItems;
break;
default:
break;
}
}
Public Sub player_CurrentPlaylistChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_CurrentPlaylistChangeEvent) Handles player.CurrentPlaylistChange
Select Case e.change
' Only update the list for the move, delete, insert, and append event types.
Case WMPLib.WMPPlaylistChangeEventType.wmplcMove ' Value = 3
Case WMPLib.WMPPlaylistChangeEventType.wmplcDelete ' Value = 4
Case WMPLib.WMPPlaylistChangeEventType.wmplcInsert ' Value = 5
Case WMPLib.WMPPlaylistChangeEventType.wmplcAppend ' Value = 6
' Create a string array large enough to hold all of the media item names.
Dim count As Integer = player.currentPlaylist.count
Dim mediaItems(count) As String
' Clear any previous contents of the text box.
playlistItems.Clear()
' Loop through the playlist and store each media item name.
For i As Integer = 0 To (count - 1)
mediaItems(i) = player.currentPlaylist.Item(i).name
Next i
' Display the media item names.
playlistItems.Lines = mediaItems
End Select
End Sub
要求
要求 | 值 |
---|---|
版本 |
Windows 媒体播放器 9 系列或更高版本 |
命名空间 |
AxWMPLib |
程序集 |
|
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈