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


Playlist Класс

Определение

Предоставляет доступ к списку воспроизведения мультимедиа.

public ref class Playlist sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Media.Playlists.PlaylistsContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Media.Playlists.PlaylistsContract, 65536)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Playlist final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Media.Playlists.PlaylistsContract, 65536)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Playlists.PlaylistsContract")]
class Playlist final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Media.Playlists.PlaylistsContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Media.Playlists.PlaylistsContract), 65536)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Playlist
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Media.Playlists.PlaylistsContract), 65536)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Playlists.PlaylistsContract")]
public sealed class Playlist
function Playlist()
Public NotInheritable Class Playlist
Наследование
Object Platform::Object IInspectable Playlist
Атрибуты

Требования к Windows

Семейство устройств
Windows Desktop Extension SDK (появилось в 10.0.10240.0)
API contract
Windows.Media.Playlists.PlaylistsContract (появилось в v1.0)

Примеры

Этот пример представляет собой выдержку из примера списка воспроизведения. Полное решение см. в примере.

// Create and save a playlist from a set of audio files.
async private void PickAudioButton_Click(object sender, RoutedEventArgs e)
{
    FileOpenPicker picker = MainPage.CreateFilePicker(MainPage.audioExtensions);
    IReadOnlyList<StorageFile> files = await picker.PickMultipleFilesAsync();

    if (files.Count > 0)
    {
        Playlist playlist = new Playlist();

        foreach (StorageFile file in files)
        {
            playlist.Files.Add(file);
        }

        StorageFolder folder = KnownFolders.MusicLibrary;
        string name = "Sample";
        NameCollisionOption collisionOption = NameCollisionOption.ReplaceExisting;
        PlaylistFormat format = PlaylistFormat.WindowsMedia;

        try
        {
            StorageFile savedFile = await playlist.SaveAsAsync(folder, name, collisionOption, format);
            this.rootPage.NotifyUser(savedFile.Name + " was created and saved with " + files.Count + " files.", NotifyType.StatusMessage);
        }
        catch (Exception error)
        {
            rootPage.NotifyUser(error.Message, NotifyType.ErrorMessage);
        }
    }
    else
    {
        rootPage.NotifyUser("No files picked.", NotifyType.ErrorMessage);
    }
}

// Pick playlist and display its contents.
async private void PickPlaylistButton_Click(object sender, RoutedEventArgs e)
{
    Playlist playlist = await PickPlaylistAsync();

    if (playlist != null)
    {
        string result = "Songs in playlist: " + playlist.Files.Count.ToString() + "\n";

        foreach (StorageFile file in playlist.Files)
        {
            MusicProperties properties = await file.Properties.GetMusicPropertiesAsync();
            result += "\n";
            result += "File: " + file.Path + "\n";
            result += "Title: " + properties.Title + "\n";
            result += "Album: " + properties.Album + "\n";
            result += "Artist: " + properties.Artist + "\n";
        }

        this.OutputStatus.Text = result;
    }
}

private async Task<Playlist> PickPlaylistAsync()
{
    FileOpenPicker picker = CreateFilePicker(MainPage.playlistExtensions);
    StorageFile file = await picker.PickSingleFileAsync(); 

    if (file == null)
    {
        NotifyUser("No playlist picked.", NotifyType.ErrorMessage);
        return null;
    }

    try
    {
        return await Playlist.LoadAsync(file);
    }
    catch (Exception ex)
    {
        NotifyUser(ex.Message, NotifyType.ErrorMessage);
        return null;
    }
}

Комментарии

Этот API используется для сохранения и загрузки файлов списка воспроизведения на диск и с диска. Сведения о воспроизведении списков элементов мультимедиа см. в статье Элементы мультимедиа, списки воспроизведения и дорожки.

Конструкторы

Playlist()

Создает новый экземпляр объекта списка воспроизведения .

Свойства

Files

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

Методы

LoadAsync(IStorageFile)

Асинхронно загружает файлы в список воспроизведения.

SaveAsAsync(IStorageFolder, String, NameCollisionOption)

Асинхронно сохраняет список воспроизведения в указанный файл и папку.

SaveAsAsync(IStorageFolder, String, NameCollisionOption, PlaylistFormat)

Асинхронно сохраняет список воспроизведения в указанный файл и папку в указанном формате.

SaveAsync()

Асинхронно сохраняет список воспроизведения.

Применяется к

См. также раздел