我对WP8.1和异步编程相对较新,我遇到了一段代码问题,我编写/适合创建一系列专辑,从WP8.1 MusicLibrary中检索到
代码是这样的:
public static async Task<ObservableCollection<Album>> GetAlbums()
{
ObservableCollection<Album> returnValue = new ObservableCollection<Album>();
IReadOnlyList<StorageFolder> loadedMusic = await KnownFolders.MusicLibrary.GetFoldersAsync(CommonFolderQuery.GroupByAlbumArtist);
foreach (var file in loadedMusic)
{
Album tempAlbum = new Album();
MusicProperties musicProperties = await file.Properties.GetMusicPropertiesAsync();
tempAlbum.Artist = musicProperties.AlbumArtist;
tempAlbum.Title = musicProperties.Title;
tempAlbum.ItemImage = "";
returnValue.Add(tempAlbum);
}
return returnValue;
}
问题在于,当代码到达GetFoldersAsync行(在我的手机上运行 - 8.1牛仔版构建,目前包含大约30个音乐专辑)时,它似乎挂起,而不是返回任何内容。
任何人都有任何想法,为什么会这样?