Списки воспроизведения и объект 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 .
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по