C#を使用しているPCの音楽プレーヤーで作業していますが、すべてがうまくいくようですが、音楽ディレクトリからすべての音楽ファイルをロードする際に問題があります。アプリ、音楽ファイルの量に応じて5分かかります。これは、各音楽ファイルをループしてメタデータを取得し、それぞれの音楽ファイルごとに異なる画像ボックスにロードするループを作成したために起こると思います。
お手数ですが、私はより速くする必要があります。ありがとうございました。コードは以下の通りです ...ループ最適化C#
public List<MusicDetails> Music_Library()
{
List<MusicDetails> files = new List<MusicDetails>();
string[] musicfolder = Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyMusic),"*mp3", SearchOption.AllDirectories);
for (int i = 0; i <musicfolder.Length; i++)
{
try {
files.Add(new MusicDetails
{
title = TagLib.File.Create(musicfolder[i]).Tag.Title,
genre = TagLib.File.Create(musicfolder[i]).Tag.FirstGenre,
artist = TagLib.File.Create(musicfolder[i]).Tag.FirstPerformer,
path = musicfolder[i],
CoverArt = OrganiseAlbums.SingleAlbumImage(musicfolder[i],true)
});
}catch(Exception)
{
// OMIT FILE
}
}
return files;
}
がどのようにあなたはあなたの間違ったコードを修正するお手伝いをすることが可能であることを考えるならば、あなたドンこのコードを表示しないでください。 – Steve
画像とメタデータのスタブ情報をバックグラウンドでasyncファイルにロードします。画像とメタデータを別のスレッドに読み込みます。 –