0
我試圖使用UWP獲取視頻庫內的特定文件夾中的所有視頻,現在我可以在視頻庫中獲得所有視頻,但我想將我的結果減少到僅指定文件夾內的結果。我的代碼是這樣的:使用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);
我如何可以訪問一個名爲「視頻播放」,然後獲取該文件夾內的所有視頻子文件夾?我嘗試用類似的路徑accesing它:
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");
,但我得到拒絕訪問,即使我已經請求訪問視頻庫(和第一個示例顯示,我居然有機會獲得它的事實) 。
您獲取用戶名的代碼不正確。您無法對文件夾位置做出假設 - 或者即使配置文件的文件夾名稱與用戶名相同。如果計算機設置爲使用'D:\ People \ {userName} \'會怎麼樣?用戶也可以輕鬆更改視頻文件夾的位置。 – Dai
那麼我該怎麼去得到它呢?我試圖讓路徑像'@「%USERPROFILE%\ Videos \ Play來播放'',但這似乎也不起作用。 – user8296390
UWP應用程序沒有權限訪問計算機上的所有文件 - 不能像這樣訪問元素(在大多數情況下)。您應該爲此使用代理 - * StorageFile/StorageFolder *。 – Romasz