getAudioMetadata method

Future<AudioMetadata> getAudioMetadata(
  1. String audioPath
)

Audio Metadata

Implementation

Future<AudioMetadata> getAudioMetadata(String audioPath) async {
  //ffprobe -v quiet -show_entries format_tags -of json
  final result = await ffprobeRun(
    arguments: [
      '-v',
      'quiet',
      '-show_entries',
      'format_tags',
      '-of',
      'json',
      audioPath,
    ],
  );

  if (result.exitCode != 0) {
    throw Exception('ffprobe failed: ${result.stderr}');
  }

  final jsonData = jsonDecode(result.stdout);

  // format.tags ထဲက metadata ပဲ return လုပ်တာ
  final tags = jsonData['format']?['tags'] as Map<String, dynamic>? ?? {};

  return AudioMetadata.fromMap(tags);
}