Путь Windows.Storage.KnownFolders.MusicLibrary возвращает пустой

Я пытаюсь получить путь к папке с музыкальной библиотекой по умолчанию в Windows Universal App, написанный на C #. Тем не мение,KnownFolders.MusicLibrary.Path возвращает пустую строку, в то время как(await KnownFolders.MusicLibrary.GetFoldersAsync()) похоже вернуть пустой список. Я уже указал эту возможность вPackage.appxmanifest:

<Package ...>

  ...

  <Capabilities>
    <uap:Capability Name="musicLibrary" />
  </Capabilities>
</Package>

Как я делаю это неправильно? Я ожидаю, что строка кода вернет что-то вродеC:\Users\username\Music.

 Alexej Sommer10 авг. 2016 г., 16:54
Насколько я помню, в библиотеке нет пути. Это какая-то особенная папка. УвидетьЭта тема

Ответы на вопрос(1)

Решение Вопроса

взамечания изСвойство KnownFolders.MusicLibraryмы можем найти, что

Библиотеки позволяют пользователям просматривать связанный контент в одном месте. Библиотека - это виртуальная папка. Папки в библиотеке остаются в своем первоначальном расположении. Узнайте больше о библиотеках вБиблиотеки Windows.

Свойство StorageFolder.Path может получить полный путь к текущей папке в файловой системе, но только если путьимеется в наличии, Поскольку музыкальная библиотека является виртуальной папкой, путь к файловой системе недоступен. Так что он всегда возвращает пустую строку.

Музыкальная библиотека обычно имеет следующий путь.

%USERPROFILE%\Music

Это путь к известной папке, включенной в музыкальную библиотеку.

Библиотека - это виртуальная коллекция папок, которая по умолчанию включает в себя известную папку и любые другие папки, добавленные пользователем в библиотеку с помощью вашего приложения или одного из встроенных приложений. Например, библиотека «Изображения» по умолчанию включает в себя известную папку «Изображения». Пользователь может добавлять папки или удалять их из библиотеки «Изображения» с помощью приложения или встроенного приложения «Фотографии».

Чтобы получить этот путь, мы можем использоватьКласс StorageLibrary, Этот класс позволяет нам добавлять и удалять папки из библиотеки, например «Музыка» или «Видео», и позволяет получить список папок, включенных в библиотеку.

Известная папка - это папка в библиотеке, в которой новые файлы сохраняются по умолчанию. Мы можем использоватьСвойство StorageLibrary.SaveFolder чтобы получить эту папку, а затем получить ее путь, как показано ниже:

var musicLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music);
Debug.WriteLine(musicLibrary.SaveFolder.Path);

Для получения дополнительной информации, пожалуйста, смотритеФайлы и папки в библиотеках «Музыка», «Изображения» и «Видео».

 Hendra Anggrian11 авг. 2016 г., 08:17
Спасибо за объяснение!

Ваш ответ на вопрос