INNER CODE UNIT · Rust

write_replay_gain_tags

xiaobaimc/myune_music · rust/src/api/audio_info.rs:150

pub fn write_replay_gain_tags(path: String, gain_db: f64, peak: f64) -> Result<(), String> {
    let mut tagged_file = Probe::open(&path)
        .map_err(|e| e.to_string())?
        .read()
        .map_err(|e| e.to_string())?;

    if tagged_file.primary_tag().is_none() {
        let tag = Tag::new(tagged_file.primary_tag_type());
        tagged_file.insert_tag(tag);
    }

    let tag = tagged_file
        .primary_tag_mut()
        .ok_or_else(|| "无法创建或读取主标签".to_string())?;

    tag.insert_text(ItemKey::ReplayGainTrackGain, format!("{:.2} dB", gain_db));
    tag.insert_text(ItemKey::ReplayGainTrackPeak, format!("{:.6}", peak));

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…