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