A library wrapper for integrating FMOD Engine in Rust applications. FFI wrapped in Rust code to make them safe, more idiomatic and abstract away uncomfortable manual C interface using.
FMOD development libraries can't be integrated and distributed as part of this crate. You should download and install it considering your current licensing option from: https://www.fmod.com/download
A crate uses FMOD development libraries version number to simplify version match. The concept of "pre-releases" with a dash in the version used to specify backwards compatible changes and bug fixes in libFMOD code. Be aware that Cargo will avoid automatically using pre-releases unless explicitly asked.
toml
[dependencies]
libfmod = "2.2.3-r.1"
The simplest way to get started is to initialize the FMOD system, load a sound, and play it. Playing a sound does not block the application, all functions execute immediately, so we should poll for the sound to finish.
```rust use libfmod::{Error, System}; use libfmod::ffi::{FMODDEFAULT, FMODINIT_NORMAL};
fn testplayingsound() -> Result<(), Error> { let system = System::create()?; system.init(512, FMODINITNORMAL, None)?; let sound = system.createsound("./data/heartbeat.ogg", FMODDEFAULT, None)?; let channel = system.playsound(sound, None, false)?; while channel.isplaying()? { // do something else } system.release() } ```
See more examples in tests folder.
This library is automatically generated by libfmod-gen and can't be changed manually. All issues and pull requests must be created in repository of generator.