Hola amigos de la nerdytud.
En el día de hoy, quiero compartirles una forma bastante simple de obtener o extraer información de un archivo mp3, como ser álbum, título o artista, con net core.
Clonar solución ATL
git clone https://github.com/Zeugma440/atldotnet.git
Compilamos la solución
cd atldotnet/ATL
dotnet build
Generar aplicación
mkdir readaudio && cd readaudio
dotnet new sln
Generar consola
mkdir readaudio && cd readaudio
dotnet new console
Linkear proyecto a la solución
dotnet sln readaudio.sln add ./readaudio/readaudio.csproj
Copiar ATL.dll
cp /home/XXX/code/atldotnet/ATL/bin/Debug/net45/ATL.dll ./readaudio/ATL.dll
Modificar readaudio.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="ATL">
<HintPath>ATL.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
Código
using System;
using ATL;
namespace readaudio
{
class Program
{
static void Main(string[] args)
{
GetTags("./music/globular.mp3");
}
private static void GetTags(string mediaPath)
{
Track dataTrack = new Track(mediaPath);
Console.WriteLine("artista: " + dataTrack.Artist);
Console.WriteLine("album: " + dataTrack.Album);
Console.WriteLine("titulo: " + dataTrack.Title);
Console.WriteLine("Duracion: " + CalcTime(dataTrack.DurationMs));
}
private static string CalcTime(double ms)
{
TimeSpan timeSpan = TimeSpan.FromMilliseconds(ms);
string duration = timeSpan.ToString();
int index = duration.IndexOf(".");
return duration.Substring(0, index);
}
}
}
Ejecutar aplicación
dotnet restore
dotnet run