【问题标题】:Windows Universal App - MediaElement and M3UWindows 通用应用程序 - MediaElement 和 M3U
【发布时间】:2016-07-13 07:40:44
【问题描述】:

是否可以在 Windows 10 的 MediaElement 类中打开 m3u 网络广播流?

示例流将是 http://www.antenne.de/webradio/channels/top-40.m3u

在互联网上打开正常的 mp3 工作完美,但我没有打开任何 m3u 文件。

亲切的问候 迈克尔

【问题讨论】:

    标签: win-universal-app mediaelement m3u


    【解决方案1】:

    从 Windows 10 版本 1607 开始,建议使用 MediaPlayer 类代替 MediaElement 进行媒体播放和轻量级 XAML 控件 MediaPlayerElement.

    然后您可以使用 MediaPlaybackList 为 MediaPlayer 创建播放列表。

    StorageFolder vfolder = Windows.Storage.KnownFolders.VideosLibrary;
    StorageFileQueryResult query = vfolder.CreateFileQueryWithOptions(Constants.QueryOptions);
    var files = await query.GetFilesAsync();
    
    MediaPlaybackList playbackList = new MediaPlaybackList();
    
    foreach (StorageFile file in files)
            {
                MediaSource source = MediaSource.CreateFromStorageFile(file);
                playbackList.Items.Add(new MediaPlaybackItem(source));
            }
    
    _mediaPlayer = new MediaPlayer();
    _mediaPlayer.AutoPlay = true;
    _mediaPlayer.Source = playbackList;
    MPElement.SetMediaPlayer(_mediaPlayer);
    _mediaPlayer.Play();
    

    更多信息Microsoft Docs

    【讨论】:

      【解决方案2】:

      在 m3u 文件(播放列表文件)中,经常有指向音频源的链接。您需要获取文件、打开、解析它以获取 url,并将其中一个提供给 MediaElement。当您尝试流式传输视频时也是如此。

      【讨论】:

      • 非常感谢...太简单了,无法考虑解析 m3u 文件本身。使用原始来源,它可以完美运行。
      【解决方案3】:

      不支持 M3U 文件,因为它不是媒体文件。播放列表文件格式很简单,并记录了well enough,我建议只解析 M3U 文件并播放单个文件。

      很遗憾,Windows 10 UWP 应用无法访问 Playlist 类,这对您的方案很有帮助。它仅适用于桌面应用程序和 Windows 8 应用程序。

      【讨论】:

      • 非常感谢您的评论。解析文件后现在为我工作
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      相关资源
      最近更新 更多