0

我在 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 绑定它?

4

1 回答 1

0

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

将 MediaElement 绑定到 Windows 8 应用商店应用中的 ViewModel

于 2012-12-17T11:55:33.230 回答