Added AudioFileScanner and AudioImageExtractor logic.
This commit is contained in:
27
Harmonia.Core/Imaging/AudioImageExtractor.cs
Normal file
27
Harmonia.Core/Imaging/AudioImageExtractor.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user