求助:mediaelement和listview制作播放列表问题

h1805576959 2016-12-02 11:02:19
不多说,上代码
FileOpenPicker picker = new FileOpenPicker(); //实例化一个FileOpenPicker
// 添加文件类型过滤,如.mp4,.avi等
picker.FileTypeFilter.Add(".mp4");
// 设置初始路径
picker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
// PickMultipleFilesAsync是选取多个文件,
// PickSingleFileAsync选取单个文件
StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite);
media.SetSource(stream, file.ContentType);
media.Play();
}
我想让FileOpenPicker选择的文件添加进listview里面,然后点击listview实现播放视频,应该怎么写
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2016-12-07
  • 打赏
  • 举报
回复
引用 6 楼 h1805576959 的回复:
[quote=引用 5 楼 duanzi_peng 的回复:] [quote=引用 4 楼 h1805576959的回复:][quote=引用 3 楼 duanzi_peng 的回复:] [quote=引用 2 楼 h1805576959 的回复:] FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".mp4"); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { listview.Tag=file.Path; listview.items.add(file.name); var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); media.SetSource(stream, file.ContentType); media.Play(); } 事件里面写了 media.source=new uri(listview.Tag); media.Play(); mediaelement还是没有播放我获取的视频
是listViewItem的tag,不是ListView的Tag,你点击的是item项,设置ListView的Tag 毫无意义。 我上边的步骤2 你都没有仔细看。[/quote] 我想请问一下listViewItem怎么添加,listview.items.Tag=file.Path; 这样写好像不行,因为刚学不久,不懂的地方蛮多[/quote] 去搜listview的用法,很简单。[/quote] 我写了一个 ListViewItem lb = new ListViewItem(); lb.Tag = file.Path; lb.Content= file.Name; lvlist.Items.Add(lb); 但是ListView.SelectedItems后面没有Tag属性,是我哪里有写错的地方吗?[/quote] 用SelectedItem,不是selectedItems. 获取之后 再转成ListViewItem
h1805576959 2016-12-06
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
[quote=引用 4 楼 h1805576959的回复:][quote=引用 3 楼 duanzi_peng 的回复:] [quote=引用 2 楼 h1805576959 的回复:] FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".mp4"); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { listview.Tag=file.Path; listview.items.add(file.name); var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); media.SetSource(stream, file.ContentType); media.Play(); } 事件里面写了 media.source=new uri(listview.Tag); media.Play(); mediaelement还是没有播放我获取的视频
是listViewItem的tag,不是ListView的Tag,你点击的是item项,设置ListView的Tag 毫无意义。 我上边的步骤2 你都没有仔细看。[/quote] 我想请问一下listViewItem怎么添加,listview.items.Tag=file.Path; 这样写好像不行,因为刚学不久,不懂的地方蛮多[/quote] 去搜listview的用法,很简单。[/quote] 我写了一个 ListViewItem lb = new ListViewItem(); lb.Tag = file.Path; lb.Content= file.Name; lvlist.Items.Add(lb); 但是ListView.SelectedItems后面没有Tag属性,是我哪里有写错的地方吗?
exception92 2016-12-06
  • 打赏
  • 举报
回复
引用 4 楼 h1805576959的回复:
[quote=引用 3 楼 duanzi_peng 的回复:] [quote=引用 2 楼 h1805576959 的回复:] FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".mp4"); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { listview.Tag=file.Path; listview.items.add(file.name); var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); media.SetSource(stream, file.ContentType); media.Play(); } 事件里面写了 media.source=new uri(listview.Tag); media.Play(); mediaelement还是没有播放我获取的视频
是listViewItem的tag,不是ListView的Tag,你点击的是item项,设置ListView的Tag 毫无意义。 我上边的步骤2 你都没有仔细看。[/quote] 我想请问一下listViewItem怎么添加,listview.items.Tag=file.Path; 这样写好像不行,因为刚学不久,不懂的地方蛮多[/quote] 去搜listview的用法,很简单。
h1805576959 2016-12-06
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
[quote=引用 2 楼 h1805576959 的回复:] FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".mp4"); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { listview.Tag=file.Path; listview.items.add(file.name); var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); media.SetSource(stream, file.ContentType); media.Play(); } 事件里面写了 media.source=new uri(listview.Tag); media.Play(); mediaelement还是没有播放我获取的视频
是listViewItem的tag,不是ListView的Tag,你点击的是item项,设置ListView的Tag 毫无意义。 我上边的步骤2 你都没有仔细看。[/quote] 我想请问一下listViewItem怎么添加,listview.items.Tag=file.Path; 这样写好像不行,因为刚学不久,不懂的地方蛮多
exception92 2016-12-06
  • 打赏
  • 举报
回复
引用 2 楼 h1805576959 的回复:
FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".mp4"); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { listview.Tag=file.Path; listview.items.add(file.name); var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); media.SetSource(stream, file.ContentType); media.Play(); } 事件里面写了 media.source=new uri(listview.Tag); media.Play(); mediaelement还是没有播放我获取的视频
是listViewItem的tag,不是ListView的Tag,你点击的是item项,设置ListView的Tag 毫无意义。 我上边的步骤2 你都没有仔细看。
h1805576959 2016-12-06
  • 打赏
  • 举报
回复
FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".mp4"); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { listview.Tag=file.Path; listview.items.add(file.name); var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); media.SetSource(stream, file.ContentType); media.Play(); } 事件里面写了 media.source=new uri(listview.Tag); media.Play(); mediaelement还是没有播放我获取的视频
exception92 2016-12-05
  • 打赏
  • 举报
回复
1:添加listviewItem到ListView 显示文件的名称,另设置tag属性为文件路径。 2:在双击listViewItem事件中 获取listViewitem的tag值,该值为路径 再通过 media 播放。

8,731

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧