update audio_playback example with varied wav file formats to convert

This commit is contained in:
Gered 2022-05-29 13:18:51 -04:00
parent 00eb6fcb20
commit 23f2d4da02
4 changed files with 18 additions and 5 deletions

View file

@ -14,16 +14,29 @@ struct AudioChannelStatus {
playing: bool
}
fn load_and_convert_wav(path: &Path) -> Result<AudioBuffer> {
let sound = AudioBuffer::load_wav_file(path)?;
let original_spec = *sound.spec();
let sound = sound.convert(&TARGET_AUDIO_SPEC)?;
let final_spec = *sound.spec();
if original_spec != final_spec {
println!("{:?} was converted from {:?} to {:?}", path, original_spec, final_spec);
} else {
println!("{:?} did not need to be converted from {:?}", path, original_spec);
}
Ok(sound)
}
fn main() -> Result<()> {
let mut system = SystemBuilder::new().window_title("Audio Playback").vsync(true).build()?;
let mut is_running = true;
let sound1 = AudioBuffer::load_wav_file(Path::new("./assets/pickup-coin.wav"))?;
let sound2 = AudioBuffer::load_wav_file(Path::new("./assets/powerup.wav"))?;
let sound3 = AudioBuffer::load_wav_file(Path::new("./assets/explosion.wav"))?;
let sound4 = AudioBuffer::load_wav_file(Path::new("./assets/jump.wav"))?;
let sound5 = AudioBuffer::load_wav_file(Path::new("./assets/laser-shoot.wav"))?;
let sound1 = load_and_convert_wav(Path::new("./assets/pickup-coin.wav"))?;
let sound2 = load_and_convert_wav(Path::new("./assets/powerup.wav"))?;
let sound3 = load_and_convert_wav(Path::new("./assets/explosion.wav"))?;
let sound4 = load_and_convert_wav(Path::new("./assets/jump.wav"))?;
let sound5 = load_and_convert_wav(Path::new("./assets/laser-shoot.wav"))?;
let mut statuses = [AudioChannelStatus { size: 0, position: 0, playing: false }; NUM_CHANNELS];