저는 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 파일을로드하십시오. 그림과 메타 데이터를 별도의 스레드에로드하십시오. –