1

我正在使用 C# 和 XAML 开发 Metro 应用程序,众所周知,我们可以使用以下代码在音乐库中搜索音乐文件。

IReadOnlyList<IStorageItem> itemsList  = await KnownFolders.MusicLibrary.GetItemsAsync();

其他驱动器(分区)中的音乐文件怎么样D:E:等等。有没有办法在其他驱动器中搜索音乐文件? 简介:我想.mp3从我的硬盘驱动器中搜索文件并在 Gridview 中显示它们,有什么有效的方法可以实现吗?请帮我。

4

3 回答 3

0

Windows 应用商店应用程序仅限于在应用程序的 KnownFolders 或 LocalFolder 中搜索,因此您无法在其他驱动器中搜索

于 2012-11-18T13:17:11.200 回答
0

可以在其他文件夹或驱动器中搜索,但需要使用 FolderPicker 来选择 StorageFolder...

async Task<IEnumerable<StorageFile>> FindMusicFiles()
{
    var folderPicker = new FolderPicker()
    {
        CommitButtonText = "Yippie!",
        SuggestedStartLocation = PickerLocationId.ComputerFolder,
        ViewMode = PickerViewMode.List
    };

    folderPicker.FileTypeFilter.Add("*");
    StorageFolder folder = await folderPicker.PickSingleFolderAsync();

    if (folder != null)
    {
       StorageFileQueryResult queryResult = folder.CreateFileQuery();
       queryResult.ApplyNewQueryOptions(new QueryOptions(CommonFileQuery.OrderByName, new[] { ".mp3" }));
       IReadOnlyList<StorageFile> files = await queryResult.GetFilesAsync();
       return files;
    }

    return new StorageFile[] { };
}
于 2012-11-19T23:08:52.550 回答
0

该应用程序还可以记住您使用 FolderPicker 选择的文件夹,请参阅我在Windows 8 应用程序和访问文件系统的帖子,其中我已经解释了如何使用 FutureAccessList...

于 2013-03-24T13:02:21.060 回答