Leggere e modificare tag MP3 in Kotlin con mp3agic

Mattepuffo's logo
Leggere e modificare tag MP3 in Kotlin con mp3agic

Leggere e modificare tag MP3 in Kotlin con mp3agic

La libreria mp3agic ci permette di leggere e modificare i tag MP3 in Kotlin.

Oggi vediamo un esempio del suo funzionamento.

Se usate Maven aggiungete questa dipendenza:

<dependency>
   <groupId>com.mpatric</groupId>
   <artifactId>mp3agic</artifactId>
   <version>0.9.1</version>
</dependency>

Sono supportati sia i ID3v1 che ID3v2; nel nostro caso useremo i secondi, ma il funzionamento è lo stesso:

package com.mp.kt

import com.mpatric.mp3agic.InvalidDataException
import com.mpatric.mp3agic.Mp3File
import com.mpatric.mp3agic.NotSupportedException
import com.mpatric.mp3agic.UnsupportedTagException
import java.io.IOException

fun main(args: Array<String>) {
    try {
        val mp3File = Mp3File("canzone.mp3")

        println("INFO GENERALI")
        println(mp3File.lengthInSeconds)
        println(mp3File.bitrate.toString() + " kbps " + if (mp3File.isVbr) "(VBR)" else "(CBR)")
        println(mp3File.sampleRate.toString() + " Hz")
        println("-----")

        if (mp3File.hasId3v2Tag()) {
            println("LA CANZONE HA I TAG ID3V2")

            val id3v2 = mp3File.id3v2Tag

            println(id3v2.track)
            println(id3v2.title)
            println(id3v2.album)
            println(id3v2.artist)
            println(id3v2.genre)

            id3v2.track = "BLA BLA BLA"
            mp3File.save("canzone_update.mp3")

            val mp3FileUpdate = Mp3File("canzone_update.mp3")
            val id3v2Update = mp3FileUpdate.id3v2Tag
            println(id3v2Update.track)
        }
    } catch (e: IOException) {
        println(e.message)
    } catch (e: UnsupportedTagException) {
        println(e.message)
    } catch (e: InvalidDataException) {
        println(e.message)
    } catch (e: NotSupportedException) {
        println(e.message)
    }
}

Come vedete prima stampiamo delle info generali; poi andiamo a controllare che la canzone abbia i tag ID3v2, ed in caso li leggiamo.

Poi modifichiamo un tag e creiamo una copia del file; infine leggiamo il tag dal nuovo file.

Enjoy!


Condividi su Facebook

Commentami!