Поделиться через


Атрибуты списка воспроизведения

[Функция, связанная с этой страницей, Медиаплеер Windows sdk, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо пакета SDK для Медиаплеер Windows. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Списки воспроизведения содержат сведения о метаданных, называемые атрибутами, так же как элементы мультимедиа имеют атрибуты. Вы можете получить имена и значения атрибутов списка воспроизведения и отобразить их в пользовательском интерфейсе, или код может выполнять действия на основе значения атрибута.

Списки воспроизведения определяются в файлах, упорядоченных в формате XML, а определенные элементы в файле определяют атрибуты списка воспроизведения. Некоторые элементы атрибутов хорошо известны; Автор метафайла также может определять произвольные атрибуты. Дополнительные сведения об элементах атрибутов в файлах списков воспроизведения см. в разделе Извлечение метаданных.

Библиотека может предоставлять дополнительные атрибуты списка воспроизведения, такие как SourceURL или UserLastPlayedTime. Дополнительные сведения об атрибутах списка воспроизведения библиотеки см. в справочнике по атрибутам Медиаплеер Windows.

Список воспроизведения. Свойство attributeCount извлекает количество атрибутов, связанных с списком воспроизведения. Список воспроизведения. Свойство attributeName извлекает имя атрибута на основе его индекса и списка воспроизведения. Метод getItemInfo извлекает значение атрибута на основе его имени.

Значение атрибута текущего списка воспроизведения можно изменить с помощью списка воспроизведения. Метод setItemInfo .

Метод setItemInfo используется специально для сортировки элементов в списке воспроизведения с помощью атрибута SortAttribute . В следующем примере C# список воспроизведения сортируется по значениям атрибута UserLastPlayedTime . Переменная Playlist является ссылкой на объект Списка воспроизведения .

Playlist.setItemInfo("SortAttribute", "UserLastPlayedTime");

В этом разделе объект Player был определен следующим образом:

AxWMPLib.AxWindowsMediaPlayer Player;
using WMPLib;

В следующем примере кода на C# показано получение атрибутов списка воспроизведения. Первая функция ShowPlaylists заполняет элемент управления ListBox именами доступных списков воспроизведения. Вторая часть — это обработчик событий списка. Когда пользователь щелкает имя списка воспроизведения, этот код извлекает атрибуты для этого списка воспроизведения и отображает эти атрибуты во втором списке.

// Member variables
IWMPPlaylistCollection PlaylistColl;
IWMPPlaylistArray PlaylistArray;

private void ShowPlaylists()
{
    // Retrieve the playlist collection
    PlaylistColl = Player.playlistCollection;
    // Store the collection in a playlist array
    PlaylistArray = PlaylistColl.getAll();

    // Retrieve the count of elements
    iCount = PlaylistArray.count;

    // Update the list box with the playlist names.
    lstPlaylist.BeginUpdate();
    for (int i=0; i<iCount; i++)
    {
        lstPlaylist.Items.Add(PlaylistArray.Item(i).name);
    }
    lstPlaylist.EndUpdate();

    // Set the selected index to zero
    lstPlaylist.SelectedIndex = 0;
}

Событие SelectedIndexChanged для элемента управления ListBox вызывается каждый раз, когда пользователь выбирает имя списка воспроизведения. Следующий обработчик событий заполняет второй список именами атрибутов и значениями, соответствующими выбору пользователя.

private void lstPlaylist_SelectedIndexChanged(object sender, System.EventArgs e)
{
    IWMPPlaylist Playlist = PlaylistArray.Item(lstPlaylist.SelectedIndex);
    string strAttr="";
    string strItemNames="";
    int iAttribCount=0;

    iAttribCount = Playlist.attribCount;
    for (j=0; j<iAttribCount; j++)
    {
        strAttr=Playlist.get_attributeName(j) + " -- ";
        strAttr+=Playlist.getItemInfo(Playlist.get_attributeName(j));
        lstOutput.Items.Add(strAttr);
    }
}

Управление списками воспроизведения

Атрибуты элемента мультимедиа

Объект списка воспроизведения