editAudioMetadata method
Future<void>
editAudioMetadata({
- required String inputPath,
- required String outputPath,
- required AudioMetadata metadata,
- bool isOverride = true,
Audio Metadata Edit
Implementation
Future<void> editAudioMetadata({
required String inputPath,
required String outputPath,
required AudioMetadata metadata,
bool isOverride = true,
}) async {
final outFile = File(outputPath);
if (outFile.existsSync() && isOverride) {
await outFile.delete();
}
final args = <String>['-i', inputPath];
if (metadata.title != null) {
args.addAll(['-metadata', 'title=${metadata.title}']);
}
if (metadata.artist != null) {
args.addAll(['-metadata', 'artist=${metadata.artist}']);
}
if (metadata.album != null) {
args.addAll(['-metadata', 'album=${metadata.album}']);
}
if (metadata.genre != null) {
args.addAll(['-metadata', 'genre=${metadata.genre}']);
}
if (metadata.date != null) {
args.addAll(['-metadata', 'date=${metadata.date}']);
}
if (metadata.comment != null) {
args.addAll(['-metadata', 'comment=${metadata.comment}']);
}
// args.addAll(['-c', 'copy', outputPath]);
args.addAll(['-id3v2_version', '3', outputPath]);
await ffmpegRun(arguments: args);
}