Windows 通用应用程序 - MediaElement 和 M3U
Windows Universal App - MediaElement and M3U
是否可以在 Windows 10 中的 MediaElement class 中打开 m3u 网络广播流?
样本流将是
http://www.antenne.de/webradio/channels/top-40.m3u
在互联网上打开正常的 mp3 工作完美,但我没有打开任何 m3u 文件。
亲切的问候
迈克尔
不支持 M3U 文件,因为它不是媒体文件。播放列表文件格式简单且有记录well enough,我建议只解析 M3U 文件并播放各个文件。
不幸的是,Windows 10 个 UWP 应用无法访问 Playlist
class,这对您的场景很有用。它仅适用于桌面应用程序和 Windows 8 应用程序。
在m3u文件(播放列表文件)中,经常有指向音频来源的链接。您需要获取文件、打开文件、解析文件以获取 URL,并将其中之一提供给 MediaElement。当您尝试流式传输视频时也是如此。
从Windows10版本1607开始,建议使用MediaPlayerclass代替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
是否可以在 Windows 10 中的 MediaElement class 中打开 m3u 网络广播流?
样本流将是 http://www.antenne.de/webradio/channels/top-40.m3u
在互联网上打开正常的 mp3 工作完美,但我没有打开任何 m3u 文件。
亲切的问候 迈克尔
不支持 M3U 文件,因为它不是媒体文件。播放列表文件格式简单且有记录well enough,我建议只解析 M3U 文件并播放各个文件。
不幸的是,Windows 10 个 UWP 应用无法访问 Playlist
class,这对您的场景很有用。它仅适用于桌面应用程序和 Windows 8 应用程序。
在m3u文件(播放列表文件)中,经常有指向音频来源的链接。您需要获取文件、打开文件、解析文件以获取 URL,并将其中之一提供给 MediaElement。当您尝试流式传输视频时也是如此。
从Windows10版本1607开始,建议使用MediaPlayerclass代替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