Added code to get duration from a flac file

This commit is contained in:
2025-07-04 16:06:06 -04:00
parent b3bd009460
commit ccf6ee08b4

View File

@@ -1,9 +1,23 @@
use lofty::file::AudioFile;
#[derive(Debug, Default, Clone)]
pub struct Duration {
pub val: i32
}
pub fn get_duration(song_path: &String) -> Duration {
Duration::default()
pub fn get_duration(song_path: &String) -> Result<std::time::Duration,std::io::Error> {
match std::fs::File::open(song_path) {
Ok(mut content) => match lofty::flac::FlacFile::read_from(&mut content, lofty::config::ParseOptions::new(),) {
Ok(flac_file) => {
let properties = flac_file.properties();
Ok(properties.duration())
}
Err(err) => {
Err(std::io::Error::other(err.to_string()))
}
}
Err(err) => {
Err(err)
}
}
}