【问题标题】:Playlist in Windows 8 appWindows 8 应用程序中的播放列表
【发布时间】:2013-08-23 08:29:28
【问题描述】:

我正在尝试在 Windows 8 中制作播放列表。我可以创建播放列表,但 MediElement 不想播放该播放列表。我的问题是:如何使用 C# 在 Windows 8 中播放 .wpl 文件?这是我的代码:

  async private void PickAudioButton_Click(object sender, RoutedEventArgs e)
    {
        FileOpenPicker picker = MainPage.CreateFilePicker(MainPage.audioExtensions);
        IReadOnlyList<StorageFile> files = await picker.PickMultipleFilesAsync();

         MainPage.playlist = new Playlist();

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

            StorageFile savedFile = await MainPage.playlist.SaveAsAsync(KnownFolders.MusicLibrary,
                                                                        "Sample",
                                                                        NameCollisionOption.ReplaceExisting,
                                                                        PlaylistFormat.WindowsMedia);

            xcv.SetSource((await savedFile.OpenAsync(FileAccessMode.Read)), ".wpl");
            xcv.Play();
            MainPage.playlist = null;
       }
}

【问题讨论】:

  • 请查看更新后的答案。

标签: c# windows windows-8


【解决方案1】:

更新 1

您可以通过Playlist 类加载 WPL、ZPL 或 M3U 播放列表。检查下面给出的代码。

var filepicker = new FileOpenPicker();
filepicker.SuggestedStartLocation = PickerLocationId.MusicLibrary;
filepicker.FileTypeFilter.Add(".wpl");
filepicker.FileTypeFilter.Add(".zpl");
filepicker.FileTypeFilter.Add(".m3u");
var file = await filepicker.PickSingleFileAsync();

if (file != null)
{
    var playlist = await Playlist.LoadAsync(file); 
    var allMediaFiles = playlist.Files;
}

在 WinRT 中,MediaElement 不支持直接播放 WPL 播放列表。 WPL 文件基本上是 XML 文件,它包含作为 WPL 播放列表一部分的所有媒体文件的路径。因此,您可以反序列化该文件并创建StorageFile 的列表,然后使用MediaElement 创建媒体文件。使用MediaEnded 事件将MediaElementSource 设置为列表中的下一个媒体。

Supported audio and video formats (Windows Store apps)

Serializing Objects in your WinRT Applications using XmlDeSerializer

提示:要从 XML 获取 XML 可序列化类,请通过在文本编辑器(即记事本)中打开 WPL 文件来复制 XML。在 Visual Studio 2012 中创建新的类文件。转到“编辑”菜单,然后“选择性粘贴”和“将 XML 粘贴为类”。您将获得现成的课程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多