Read and write audio metadata in Flutter. Supports multiple formats.
Tag? tag = await AudioTags.read(path);
String? title = tag?.title;
String? trackArtist = tag?.trackArtist;
String? album = tag?.album;
String? albumArtist = tag?.albumArtist;
String? genre = tag?.genre;
int? year = tag?.year;
int? trackNumber = tag?.trackNumber;
int? trackTotal = tag?.trackTotal;
int? discNumber = tag?.discNumber;
int? discTotal = tag?.discTotal;
int? duration = tag?.duration;
List<Picture>? pictures = tag?.pictures;
Tag tag = Tag(
title: "Title",
trackArtist: "Track Artist",
album: "Album",
albumArtist: "Album Artist",
genre: "Genre",
year: 2000,
trackNumber: 1,
trackTotal: 2,
discNumber: 1,
discTotal: 3,
pictures: [
Picture(
bytes: Uint8List.fromList([0, 0, 0, 0]),
mimeType: null,
pictureType: PictureType.other
)
]
);
AudioTags.write(path, tag);
This plugin uses a Rust crate called lofty
to write and read metadata.
The supported formats are listed here.