miniaudio的moonbit封装
test "total" {
let engine = @miniaudio.MaEngine::new()
match engine {
Err(err) => println(err)
Ok(engine) => match engine.load_sound("test.mp3", @miniaudio.MA_SOUND_FLAG_ASYNC | @miniaudio.MA_SOUND_FLAG_DECODE) {
Err(err) => {
println(err)
engine.free()
}
Ok(sound) => {
println("pos: \{sound.get_position().unwrap()}\nlength: \{sound.get_length().unwrap()}")
let res = sound.seek_to_second(1.0)
if res is Err(err) {
println(err)
}
let _ = sound.play()
let _ = sound.stop()
let _ = sound.play()
while sound.playing() {}
sound.free()
engine.free()
}
}
}
}pub struct MaEngine {
// private fields
}pub struct MaSound {
// private fields
}let MA_SOUND_FLAG_NO_DEFAULT_ATTACHMENT : Intlet MA_SOUND_FLAG_NO_SPATIALIZATION : Intlet MA_SOUND_FLAG_UNKNOWN_LENGTH : IntInstall
Download zipminiaudio的moonbit封装