update audio_playback example with varied wav file formats to convert
This commit is contained in:
parent
00eb6fcb20
commit
23f2d4da02
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -14,16 +14,29 @@ struct AudioChannelStatus {
|
||||||
playing: bool
|
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<()> {
|
fn main() -> Result<()> {
|
||||||
let mut system = SystemBuilder::new().window_title("Audio Playback").vsync(true).build()?;
|
let mut system = SystemBuilder::new().window_title("Audio Playback").vsync(true).build()?;
|
||||||
|
|
||||||
let mut is_running = true;
|
let mut is_running = true;
|
||||||
|
|
||||||
let sound1 = AudioBuffer::load_wav_file(Path::new("./assets/pickup-coin.wav"))?;
|
let sound1 = load_and_convert_wav(Path::new("./assets/pickup-coin.wav"))?;
|
||||||
let sound2 = AudioBuffer::load_wav_file(Path::new("./assets/powerup.wav"))?;
|
let sound2 = load_and_convert_wav(Path::new("./assets/powerup.wav"))?;
|
||||||
let sound3 = AudioBuffer::load_wav_file(Path::new("./assets/explosion.wav"))?;
|
let sound3 = load_and_convert_wav(Path::new("./assets/explosion.wav"))?;
|
||||||
let sound4 = AudioBuffer::load_wav_file(Path::new("./assets/jump.wav"))?;
|
let sound4 = load_and_convert_wav(Path::new("./assets/jump.wav"))?;
|
||||||
let sound5 = AudioBuffer::load_wav_file(Path::new("./assets/laser-shoot.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];
|
let mut statuses = [AudioChannelStatus { size: 0, position: 0, playing: false }; NUM_CHANNELS];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue