
Read, edit, and write audio metadata across many formats; shared parsing/writing, file-descriptor I/O, broad format support (MP3, FLAC, MP4, WAV, etc.), no runtime reflection.
Kotlin Multiplatform audio metadata library for reading, editing, and writing audio tags across Android, JVM, iOS, and macOS.
Read audio metadata. Change it. Write it back — from shared Kotlin code.
commonMain
Jaudiotagger Kotlin is available from Maven Central.
dependencies {
implementation("io.github.darkstar085:jaudiotagger-kt:1.0.0")
}For Kotlin Multiplatform:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.darkstar085:jaudiotagger-kt:1.0.0")
}
}
}import kotlinx.io.files.Path
import org.jaudiotagger.kt.AudioTagger
import org.jaudiotagger.kt.tag.FieldKey
val path = Path("/music/track.flac")
val file = AudioTagger.read(path)
println(file.properties.duration)
println(file.tag.first(FieldKey.ARTIST))
file.tag.set(FieldKey.TITLE, "New title")
AudioTagger.write(path, file.tag)The typical workflow is:
Read → inspect → modify → write
Android-specific file access is separated from the shared metadata implementation.
FileDescriptorIo allows metadata operations on files accessed through Android file descriptors, making the library suitable for MediaStore and Storage Access Framework (SAF) based applications.
Android supports API 21+.
| Platform | Support |
|---|---|
| Android | ✅ |
| JVM | ✅ |
| iOS | ✅ |
| iOS Simulator | ✅ |
| macOS ARM64 | ✅ |
MP3 · FLAC · Ogg Vorbis · Ogg Opus · MP4/M4A · WAV · AIFF · WMA/ASF · APE · WavPack · DSF · DFF · RealAudio
# Run JVM tests
./gradlew jvmTest
# Build Android AAR
./gradlew bundleAndroidMainAar
# Verify macOS target
./gradlew compileKotlinMacosArm64Maven coordinates:
io.github.darkstar085:jaudiotagger-kt:<version>
Releases are published to Maven Central, with the Android AAR also available as a GitHub Release asset.
Jaudiotagger Kotlin is distributed under the GNU Lesser General Public License v2.1.
See LICENSE for the complete license text.
Kotlin Multiplatform audio metadata library for reading, editing, and writing audio tags across Android, JVM, iOS, and macOS.
Read audio metadata. Change it. Write it back — from shared Kotlin code.
commonMain
Jaudiotagger Kotlin is available from Maven Central.
dependencies {
implementation("io.github.darkstar085:jaudiotagger-kt:1.0.0")
}For Kotlin Multiplatform:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.darkstar085:jaudiotagger-kt:1.0.0")
}
}
}import kotlinx.io.files.Path
import org.jaudiotagger.kt.AudioTagger
import org.jaudiotagger.kt.tag.FieldKey
val path = Path("/music/track.flac")
val file = AudioTagger.read(path)
println(file.properties.duration)
println(file.tag.first(FieldKey.ARTIST))
file.tag.set(FieldKey.TITLE, "New title")
AudioTagger.write(path, file.tag)The typical workflow is:
Read → inspect → modify → write
Android-specific file access is separated from the shared metadata implementation.
FileDescriptorIo allows metadata operations on files accessed through Android file descriptors, making the library suitable for MediaStore and Storage Access Framework (SAF) based applications.
Android supports API 21+.
| Platform | Support |
|---|---|
| Android | ✅ |
| JVM | ✅ |
| iOS | ✅ |
| iOS Simulator | ✅ |
| macOS ARM64 | ✅ |
MP3 · FLAC · Ogg Vorbis · Ogg Opus · MP4/M4A · WAV · AIFF · WMA/ASF · APE · WavPack · DSF · DFF · RealAudio
# Run JVM tests
./gradlew jvmTest
# Build Android AAR
./gradlew bundleAndroidMainAar
# Verify macOS target
./gradlew compileKotlinMacosArm64Maven coordinates:
io.github.darkstar085:jaudiotagger-kt:<version>
Releases are published to Maven Central, with the Android AAR also available as a GitHub Release asset.
Jaudiotagger Kotlin is distributed under the GNU Lesser General Public License v2.1.
See LICENSE for the complete license text.