【发布时间】:2018-09-08 06:15:31
【问题描述】:
我正在尝试获取 Auto Next 方法,我尝试过使用索引计数器,但我想我误解了如何使用 FilePicker 正确设置列表
FilePicker 的代码如下:
public async void pick_Click_1(object sender, RoutedEventArgs e)
{
List<StorageFile> fileList = new List<StorageFile>();
var fop = new FileOpenPicker();
fop.FileTypeFilter.Add(".mp3");
fop.FileTypeFilter.Add(".mp4");
fop.FileTypeFilter.Add(".avi");
fop.FileTypeFilter.Add(".wmv");
fop.ViewMode = PickerViewMode.List;
pickedFileList = await fop.PickMultipleFilesAsync();
// add the picked files to our existing list
fileList.AddRange(pickedFileList);
foreach (StorageFile file in pickedFileList)
{
Playlist.Items.Add(file);
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
videoMediaElement.SetSource(stream, file.ContentType);
}
videoMediaElement.Play();
当前切换曲目的方法|视频
private async void itemclicked(object sender, ItemClickEventArgs e)
{
var file = e.ClickedItem as StorageFile;
if (file != null)
{
var stream = await file.OpenReadAsync();
videoMediaElement.SetSource(stream, file.ContentType);
}
}
我试图使用空事件来执行此操作。
private void Element_MediaEnded(object sender, RoutedEventArgs e)
{
}
我查看了所有 Microsoft 示例。问题是他们使用Mediaplayerelement += Mediaplayer 而我使用的是 MediaElement
我正在寻找的答案可以解决我的问题或帮助我更好地理解如何使用选择器中的当前或新列表全局设置媒体播放器的来源,我对这一切都很陌生,并试图掌握一切更好,谢谢!
【问题讨论】:
-
使用 mediaplayerelement 代替,因为它更新并且有很多功能,虽然你需要最低 sdk 版本作为周年更新才能工作。
-
借助 mediaplayerelement,您甚至可以使用 mediaplaybacklist,这将使您的生活在这个用例中变得更加简单。
-
我像您一样使用您的代码和 Mediaplayer 创建了一个新的 UWP 应用程序,它按预期工作,您确定 var file = e.ClickedItem as StorageFile;正在获取正确的文件吗?
-
它很难测试,因为我需要编写一个过滤器我可以简单地更改 Playlist.Items.Add(file);到 Playlist.Items.Add(file.name);但随后它返回一个字符串而不是一个工作文件。是的,遗憾的是,我想使用媒体播放器元素,所需的目标平台是 windows 8,所以我必须尽量避免使用最新版本。我只是不清楚如何在 Picker 创建对象后使用该对象。
-
@AimeeDutoit 您能否提供一个示例并说明您现在的问题是什么以及您要实施什么?
标签: c# uwp media-player mediaelement playlist