fix demo compile error

This commit is contained in:
Andelf
2014-05-31 23:00:50 +08:00
parent 0add0de629
commit 7d9f053282
+18 -18
View File
@@ -1,11 +1,11 @@
#![crate_type = "bin"]
#![crate_id="demo"]
extern crate debug;
extern crate sdl2;
extern crate sdl2_mixer;
use std::os;
use mix = sdl2_mixer;
fn main() {
@@ -13,54 +13,54 @@ fn main() {
if args.len() < 2 {
println!("Usage: ./demo audio.[mp3|wav|ogg]")
} else {
match dump_info(&Path::new(args.get(1).to_owned())) {
match dump_info(&Path::new(args.get(1).to_string())) {
_ => ()
}
}
}
fn dump_info(filename: &Path) -> Result<(), ~str> {
println!("linked version: {}", mix::get_linked_version());
fn dump_info(filename: &Path) -> Result<(), String> {
println!("linked version: {}", sdl2_mixer::get_linked_version());
sdl2::init(sdl2::InitAudio | sdl2::InitTimer);
println!("inited => {}", mix::init(sdl2_mixer::InitMp3 | sdl2_mixer::InitFlac |
println!("inited => {}", sdl2_mixer::init(sdl2_mixer::InitMp3 | sdl2_mixer::InitFlac |
sdl2_mixer::InitMod | sdl2_mixer::InitFluidSynth |
sdl2_mixer::InitModPlug | sdl2_mixer::InitOgg).bits());
// TODO: 0x8010 is SDL_audio flag
try!(mix::open_audio(mix::DEFAULT_FREQUENCY, 0x8010u16, 2, 1024));
mix::allocate_channels(0);
try!(sdl2_mixer::open_audio(sdl2_mixer::DEFAULT_FREQUENCY, 0x8010u16, 2, 1024));
sdl2_mixer::allocate_channels(0);
{
let n = mix::get_chunk_decoders_number();
let n = sdl2_mixer::get_chunk_decoders_number();
println!("available chunk(sample) decoders: {}", n);
for i in range(0, n) {
println!("| decoder {} => {:?}", i, mix::get_chunk_decoder(i));
println!("| decoder {} => {:?}", i, sdl2_mixer::get_chunk_decoder(i));
}
}
{
let n = mix::get_music_decoders_number();
let n = sdl2_mixer::get_music_decoders_number();
println!("available music decoders: {}", n);
for i in range(0, n) {
println!("| decoder {} => {:?}", i, mix::get_music_decoder(i));
println!("| decoder {} => {:?}", i, sdl2_mixer::get_music_decoder(i));
}
}
println!("query spec => {}", mix::query_spec());
println!("query spec => {}", sdl2_mixer::query_spec());
let music = mix::Music::from_file(filename).unwrap();
let music = sdl2_mixer::Music::from_file(filename).unwrap();
mix::Music::hook_finished(|| { println!("play ends! from rust cb") });
sdl2_mixer::Music::hook_finished(|| { println!("play ends! from rust cb") });
println!("music => {:?}", music);
println!("music type => {}", music.get_type());
println!("music volume => {}", mix::Music::get_volume());
println!("music volume => {}", sdl2_mixer::Music::get_volume());
println!("play => {}", music.play(1));
sdl2::timer::delay(10000);
println!("fading out ... {}", mix::Music::fade_out(4000));
println!("fading out ... {}", sdl2_mixer::Music::fade_out(4000));
sdl2::timer::delay(5000);
@@ -68,12 +68,12 @@ fn dump_info(filename: &Path) -> Result<(), ~str> {
sdl2::timer::delay(5000);
mix::Music::halt();
sdl2_mixer::Music::halt();
sdl2::timer::delay(1000);
// here will print hook_finished
mix::quit();
sdl2_mixer::quit();
sdl2::quit();
Ok(())