GetMusicProperties не получает правильного исполнителя альбома
Я делаю два отдельных вызова, чтобы получить Исполнителей и Альбомы из музыкальной библиотеки пользователя. Для художников:
List<Artist> _artists = new List<Artist>();
var folderList = await KnownFolders.MusicLibrary.GetFoldersAsync(CommonFolderQuery.GroupByArtist);
foreach (var folder in folderList)
{
var props = await folder.Properties.GetMusicPropertiesAsync();
var thumbnail = await folder.GetThumbnailAsync(ThumbnailMode.MusicView, 256);
if (!string.IsNullOrEmpty(props.Artist))
{
var artist = new Artist
{
Id = props.Artist,
Name = props.Artist,
CreationDate = folder.DateCreated.DateTime,
Thumbnail = thumbnail
};
_artists.Add(artist);
}
}
И для альбомов:
List<Album> _albums = new List<Album>();
var folderList = await KnownFolders.MusicLibrary.GetFoldersAsync(CommonFolderQuery.GroupByAlbum);
foreach (var folder in folderList)
{
var props = await folder.Properties.GetMusicPropertiesAsync();
var thumbnail = await folder.GetThumbnailAsync(ThumbnailMode.MusicView, 256);
if (!string.IsNullOrEmpty(props.Album))
{
var album = new Album
{
Id = props.Album,
ArtistId = props.Artist,
Title = props.Album,
CreationDate = folder.DateCreated.DateTime,
Thumbnail = thumbnail
};
_albums.Add(album);
}
}
Проблема в том, что у меня есть эта структура:
- Папка для художника (Artist 1)
- В папке Artist, папка для альбома
- Два файла в папке альбома, каждый из которых от разных исполнителей (Исполнитель 2 и Исполнитель 3)
В моем методе, чтобы получить художников, props.Artist
установлен на "Исполнитель 1". Это, конечно, то, чего я хочу. Тем не менее, когда я звоню, чтобы получить альбомы, props.Artist
"Артист 2"; "Артиста 1" нигде нет props
, Аналогично, в моем призыве привлечь Художников "Артист 2" нигде не props
, Это делает практически невозможным - в лучшем случае ненадежным - связывание моих исполнителей и альбомов любым способом, что мне нужно сделать. Есть ли способ получить "Artist 1" при получении свойств моего альбома?