1.7 KiB
vlc-rs 
Rust bindings for libVLC media framework.
Status
Many missing functions and wrappers.
Use
Please add the following dependencies to your Cargo.toml.
[dependencies]
vlc-rs = "0.3"
Or:
[dependencies.vlc-rs]
git = "https://github.com/garkimasera/vlc-rs.git"
Example
Play for 10 seconds from a media file.
extern crate vlc;
use vlc::{Instance, Media, MediaPlayer};
use std::thread;
fn main() {
// Create an instance
let instance = Instance::new().unwrap();
// Create a media from a file
let md = Media::new_path(&instance, "path_to_a_media_file.ogg").unwrap();
// Create a media player
let mdp = MediaPlayer::new(&instance).unwrap();
mdp.set_media(&md);
// Start playing
mdp.play().unwrap();
// Wait for 10 seconds
thread::sleep(::std::time::Duration::from_secs(10));
}
Other examples are in the examples directory.
Building
Windows
vlc-rs uses libvlc's SDK and it is a required dependency that must be available at runtime. For that, you must either build VLC from source or grab one of the pre-built packages from videolan.org.
Once you've downloaded your chosen package, you should extract it some place such that its path contains no spaces, and add that directory to your PATH so libvlc.dll is found at startup.
For distribution of an executable program, you should probably copy over the necessary DLLs, as well as the plugins directory.
License
MIT (Examples are licensed under CC0)