diff --git a/examples/audio_playback/assets/explosion.wav b/examples/audio_playback/assets/explosion.wav index 409035b..fa4f362 100644 Binary files a/examples/audio_playback/assets/explosion.wav and b/examples/audio_playback/assets/explosion.wav differ diff --git a/examples/audio_playback/assets/jump.wav b/examples/audio_playback/assets/jump.wav index ffc150a..400d7e9 100644 Binary files a/examples/audio_playback/assets/jump.wav and b/examples/audio_playback/assets/jump.wav differ diff --git a/examples/audio_playback/assets/pickup-coin.wav b/examples/audio_playback/assets/pickup-coin.wav index 1e4e153..9d100f1 100644 Binary files a/examples/audio_playback/assets/pickup-coin.wav and b/examples/audio_playback/assets/pickup-coin.wav differ diff --git a/examples/audio_playback/src/main.rs b/examples/audio_playback/src/main.rs index 1cf418f..60f8ebe 100644 --- a/examples/audio_playback/src/main.rs +++ b/examples/audio_playback/src/main.rs @@ -14,16 +14,29 @@ struct AudioChannelStatus { playing: bool } +fn load_and_convert_wav(path: &Path) -> Result { + 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];