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


Списки воспроизведения и объект MediaCollection

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

Объект MediaCollection предоставляет доступ к различным специальным спискам воспроизведения и включает метод для создания нового списка воспроизведения на основе метафайла.

Следующие методы извлекают специальные списки воспроизведения:

  • GetAll
  • getByAlbum
  • getByAttribute
  • getByAuthor
  • getByGenre
  • getByName

Как показывают названия, эти методы извлекают списки воспроизведения, содержащие все элементы мультимедиа в библиотеке, которые соответствуют определенным критериям.

Будьте осторожны, чтобы не запутать MediaCollection. Метод getByName с playlistCollection. Метод getByName . Метод MediaCollection возвращает объект Списка воспроизведения , содержащий все элементы мультимедиа с указанным именем. Метод PlaylistCollection возвращает объект PlaylistArray , содержащий все списки воспроизведения с указанным именем.

Вы можете использовать MediaCollection. метод add для добавления списков воспроизведения, а также элементов мультимедиа в библиотеку. Чтобы добавить список воспроизведения, передайте методу путь к метафайлю, который определяет список воспроизведения. Метод всегда возвращает объект Media . Приведение между объектами мультимедиа и списка воспроизведения невозможно. Для работы с добавленным списком воспроизведения извлеките объект Playlist с тем же именем, что и объект Media .

В следующем примере на C# показано, как получить мультимедиа по типу с помощью MediaCollection. Метод getByAttribute . Этот код извлекает имена всех атрибутов, связанных с заданным типом, а также состояние этих атрибутов для чтения и записи или только для чтения. Он создает один файл, содержащий списки атрибутов для типов "Аудио", "Видео", "Радио", "Список воспроизведения", "Другое", "Музыка" и "Фотография".

string strOutFile = "AttribList.txt";    // Name of the output file
...
StreamWriter sw = new StreamWriter(strOutFile, true);

sw.Write(getMediaCollectionNames("Audio"));
sw.Write(getMediaCollectionNames("Video"));
sw.Write(getMediaCollectionNames("Radio"));
sw.Write(getMediaCollectionNames("Playlist"));
sw.Write(getMediaCollectionNames("Other"));
sw.Write(getMediaCollectionNames("Music"));
sw.Write(getMediaCollectionNames("Photo"));
sw.Close();
...
// The getMediaCollection method retrieves the names of
// all attributes for a specified type.
private string getMediaCollectionNames(string sSchema)
{
IWMPPlaylist playlist;
IWMPMedia media;
string strResult = "";    // Cumulative list of attributes
string strAttrName = "";  // Attribute name
string strReadWrite = ""; // Read/Write status of attribute
int iAttrCount = 0;       // Count of playlist attributes

// Retrieve a playlist corresponding to the requested type.
playlist = Player.mediaCollection.getByAttribute("MediaType", sSchema);

// Initialize the result string
strResult += "\n" + sSchema.ToString() + " Schema: \n";

// Retrieve the attributes for the playlist
if (playlist.count != 0)
{
    media = playlist.get_Item(0);
    iAttrCount = media.attributeCount;
    for (int i = 0; i < iAttrCount; i++)
    {
        strAttrName = media.getAttributeName(i);
        strResult += "   " + strAttrName  +"\n";
        if (media.isReadOnlyItem(strAttrName))
            strReadWrite = "Read Only";
        else
            strReadWrite = "Read/Write";
        strResult += "         " + strReadWrite + "\n";
    }
}

return strResult;
}

В следующем примере на C# показано, как добавить список воспроизведения из метафайла в библиотеку.

// Add a playlist as a media item
IWMPMedia Media = Player.mediaCollection.add("c:\\testPlayList.asx");

Статические списки воспроизведения включают определенные элементы мультимедиа. Автоматические списки воспроизведения выполняют поиск библиотеки при каждом открытии и могут содержать различные элементы мультимедиа в разное время. В библиотеку можно добавлять как статические, так и автоматические списки воспроизведения с помощью MediaCollection. метод add . Вы также можете добавлять статические списки воспроизведения с помощью playlistCollection. Метод importPlaylist .

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

Объект MediaCollection

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

Объект PlaylistCollection

Списки воспроизведения и объект PlaylistCollection

Статические и автоматические списки воспроизведения