Leggere tag MP3 in Kotlin con JAudiotagger

Mattepuffo's logo
Leggere tag MP3 in Kotlin con JAudiotagger

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!


Condividi

Commentami!