Je travaille sur une application de lecteur de musique simple pour UWP et j'ai quelques questions. Tout d'abord, voici mon code
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
StorageFolder folder = KnownFolders.MusicLibrary;
await RetrieveFilesInFolders(folder);
}
private async Task RetrieveFilesInFolders(StorageFolder parent)
{
foreach (var file in await parent.GetFilesAsync())
{
if (file.FileType == ".mp3")
{
var songProperties = await file.Properties.GetMusicPropertiesAsync();
var currentThumb = await file.GetThumbnailAsync(ThumbnailMode.MusicView, 200, ThumbnailOptions.UseCurrentScale);
var albumCover = new BitmapImage();
albumCover.SetSource(currentThumb);
var song = new Song();
song.Title = songProperties.Title;
song.Artist = songProperties.Artist;
song.Album = songProperties.Album;
song.AlbumCover = albumCover;
song.SongFile = file;
song.FileName = file.Name;
SongUC songUc = new SongUC(song);
sp1.Children.Add(songUc);
}
}
foreach (var folder in await parent.GetFoldersAsync())
{
await RetrieveFilesInFolders(folder);
}
}
Constructeur de contrôle utilisateur
public SongUC(Song song)
{
this.InitializeComponent();
txtTitle.Text = song.Title;
txtAlbum.Text = song.Album;
txtArtist.Text = song.Artist;
txtName.Text = song.FileName;
imgAlbumArt.Source = song.AlbumCover;
}
- Comment puis-je rafraîchir automatiquement les fichiers retournés chaque fois qu'une nouvelle chanson est ajoutée, déplacée ou renommée
- Est-ce que déclencher la méthode
RetrieveFilesInFolders
dans le gestionnaire d'événements PageLoaded est le meilleur moyen d'obtenir toutes les chansons. Ou ralentira-t-il l'application s'il y a une énorme collection de musique dans le dossier musique - Comment puis-je utiliser des animations chaque fois que les fichiers sont récupérés pour rendre les choses plus agréables