2 releases
0.1.1 | Aug 7, 2024 |
---|---|
0.1.0 | Sep 11, 2023 |
#236 in Audio
36 downloads per month
Used in vpr-audio-player
56KB
1.5K
SLoC
Vpr Audio Analyzer
The Vpr Audio Analyzer, pronounced "Vapor Audio Analyzer," is an asynchronous toolkit for working with audio files. It offers three key functions:
Retrieve Audio Frames:
Extracts audio frames from an audio file and presents them as an array.
let file = File::open(path).unwrap();
let reader = BufReader::new(file);
let analyzer = Analyzer::new(reader);
let frames = analyzer.get_audio_frames().await.unwrap();
Calculate Duration:
Quickly finds the duration of an audio file. If there's a XING header, it uses that for a faster calculation; otherwise, it sums up audio frame durations.
let file = File::open(path).unwrap();
let reader = BufReader::new(file);
let analyzer = Analyzer::new(reader);
let duration = analyzer.get_duration().await.unwrap();
Generate Seek Index:
Creates a timestamp and byte offset index for precise navigation within an audio file, useful for accurate seeking during playback.
let file = File::open(path).unwrap();
let reader = BufReader::new(file);
let analyzer = Analyzer::new(reader);
let seek_index = analyzer.get_seek_index().await.unwrap();
Dependencies
~4MB
~136K SLoC