Leggere tag MP3 in Kotlin con JAudiotagger
JAudiotagger è una libreria per Java per leggere e modificare i tag Mp3.
In questo articolo vediamo come usarlo per leggerli, ma in Kotlin.
Se usate Maven potete installare la libreria aggiungendo questa dipendenza:
<dependency>
<groupId>net.jthink</groupId>
<artifactId>jaudiotagger</artifactId>
<version>3.0.1</version>
</dependency>
Qui un esempio di codice:
import org.jaudiotagger.audio.AudioFileIO
import org.jaudiotagger.audio.exceptions.CannotReadException
import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException
import org.jaudiotagger.audio.exceptions.ReadOnlyFileException
import org.jaudiotagger.tag.FieldKey
import org.jaudiotagger.tag.Tag
import org.jaudiotagger.tag.TagException
import org.jaudiotagger.tag.TagField
import java.io.File
import java.io.IOException
fun main() {
try {
val file = "canzone.mp3"
val audioFile = AudioFileIO.read(File(file))
val tag: Tag = audioFile.tag
println(tag.getFirst(FieldKey.TITLE))
println(tag.getFirst(FieldKey.LYRICS))
println(tag.getFirst(FieldKey.KEY))
println(tag.getFirst(FieldKey.ALBUM))
println(tag.getFirst(FieldKey.ARTIST))
val iterator: Iterator<TagField> = tag.fields
while (iterator.hasNext()) {
println(iterator.next())
}
} catch (ex: IOException) {
println(ex.message)
} catch (e: CannotReadException) {
throw RuntimeException(e)
} catch (e: TagException) {
throw RuntimeException(e)
} catch (e: InvalidAudioFrameException) {
throw RuntimeException(e)
} catch (e: ReadOnlyFileException) {
throw RuntimeException(e)
}
}
Possiamo sia leggere i tag singoli, che leggerli tutti.
Enjoy!
kotlin mp3 jaudiotagger maven
Commentami!