A rust binding for the FMOD library

library, 3d, fmod, sound, fmodex


rust-fmod Build Status

This is a rust binding for FMOD, the library developped by FIRELIGHT TECHNOLOGIES.

FMOD website : www.fmod.org

You can also find it on crates.io !


You must install on your computer the FMOD library which is used for the binding.

Since this project supports cargo, you can build it this way:

> cargo build

This isn't a binding to the lastest version. You can find the bound version here.


You can access the rfmod documentation locally, just build it:

> cargo doc --open

You can also access the latest build of the documentation directly on docs.rs.

Short example

Here is a short example on how to create a file and to play it :

extern crate rfmod;

fn main() {
    let fmod = match rfmod::Sys::new() {
        Ok(f) => f,
        Err(e) => {
            panic!("Error code : {:?}", e);

    match fmod.init() {
        rfmod::Result::Ok => {}
        e => {
            panic!("FmodSys.init failed : {:?}", e);

    let sound = match fmod.create_sound("music.mp3", None, None) {
        Ok(s) => s,
        Err(err) => {
            panic!("Error code : {:?}", err);

    match sound.play_to_the_end() {
        rfmod::Result::Ok => {
            println!("Ok !");
        err => {
            panic!("Error code : {:?}", err);

For a more complete example : https://github.com/GuillaumeGomez/rust-music-player


Please refer to the LICENSE.txt file for more details.
If you want more information, here is the FMOD website : http://www.fmod.org/