Added AudioFileScanner and AudioImageExtractor logic.

This commit is contained in:
2025-02-25 00:42:34 -05:00
parent 960c6b9ec7
commit b38e4dc858
8 changed files with 181 additions and 22 deletions

View File

@@ -0,0 +1,27 @@
using Harmonia.Core.Tags;
namespace Harmonia.Core.Imaging;
public class AudioImageExtractor(ITagResolver tagResolver) : IAudioImageExtractor
{
public SongPictureInfo ExtractImage(string fileName)
{
SongTagInfo songTagInfo = tagResolver.GetSongTagInfo(fileName);
return ExtractImage(fileName, songTagInfo);
}
public SongPictureInfo ExtractImage(string fileName, SongTagInfo songTagInfo)
{
if (songTagInfo.FrontCover != null)
{
using MemoryStream memoryStream = new(songTagInfo.FrontCover.Data);
return SongPictureInfo.FromStream(memoryStream);
}
else
{
return SongPictureInfo.FromFile(fileName);
}
}
}