我尝试使用UWP将所有视频都放在视频库中的特定文件夹中,现在我可以在视频库中获取所有视频,但我还是喜欢将我的结果只减少到指定文件夹内的那些。我的代码是这样的:
Windows.Storage.Search.QueryOptions queryOption = new QueryOptions(CommonFileQuery.OrderByTitle, new string[] {".mp4"});
queryOption.FolderDepth = FolderDepth.Deep;
var files = await KnownFolders.VideosLibrary.CreateFileQueryWithOptions(queryOption).GetFilesAsync();
StorageFile videoToPlay = (files[new Random().Next(0, files.Count)] as StorageFile);
var stream = await videoToPlay.OpenAsync(Windows.Storage.FileAccessMode.Read);
Player.SetSource(stream, videoToPlay.ContentType);
Debug.WriteLine(Player.Source);
我如何访问名为"要播放的视频的子文件夹"然后获取该文件夹中的所有视频?我尝试使用如下路径访问它:
string localfolder = Windows.Storage.ApplicationData.Current.LocalFolder.Path;
var array = localfolder.Split('\\');
var username = array[2];
string[] allVideos = System.IO.Directory.GetFiles("C:/Users/" + username + "/Videos/Videos to Play");
但即使我已经请求访问视频库,我也会被拒绝访问(事实上,第一个示例工作表明我实际上可以访问它)。
答案 0 :(得分:2)
try
{
var folder = await KnownFolders.VideosLibrary.GetFolderAsync("Videos to Play");
}
catch (FileNotFoundException exc)
{
// TODO: Handle the case when the folder wasn't found on the user's machine.
}
在文件夹变量中,您将获得所需文件夹的引用。然后它就是你已经做的一样的东西,但是不是 KnownFolders.VideosLibrary 文件夹使用这个!