MediaElement源属性不适用于VideosLibrary中的视频

时间:2012-11-14 22:22:17

标签: c# windows-8 windows-runtime

我在KnownFolders.VideoLibrary文件夹中有一个mp4视频,我可以通过MediaElement Control(MyPlayer)播放它作为使用此代码的流:

var file = await KnownFolders.VideosLibrary.GetFileAsync("video.mp4");
var stream = await file.OpenAsync(FileAccessMode.Read);
MyPlayer.SetSource(stream, file.FileType);

但我无法使用Source属性进行播放:

var file = await KnownFolders.VideosLibrary.GetFileAsync("video.mp4");
MyPlayer.Source = new Uri(file.Path, UriKind.Absolute);

但Source属性适用于本地资产文件:

MyPlayer.Source = new Uri(this.BaseUri, "Assets/video.mp4");

任何想法为什么?每当文件位于VideoLibrary文件夹中时,我也无法将视频绑定到XAML中的Source属性。如果文件是应用程序的资产,则效果很好。

现在,如果我必须为库中的视频使用流和SetSource,我该如何从ViewModel绑定它?

1 个答案:

答案 0 :(得分:0)

我通过使用ContentControl解决了这个问题,并将MediaElement绑定到它。我写了一篇关于它的短篇博文。

Binding MediaElement to a ViewModel in a Windows 8 Store App