pub struct EventManager<'a> { /* private fields */ }
Implementations§
Source§impl<'a> EventManager<'a>
impl<'a> EventManager<'a>
Sourcepub fn attach<F>(&self, event_type: EventType, callback: F) -> Result<(), ()>
pub fn attach<F>(&self, event_type: EventType, callback: F) -> Result<(), ()>
Examples found in repository?
examples/cli_player.rs (lines 29-39)
11fn main() {
12 let args: Vec<String> = std::env::args().collect();
13
14 let path = match args.get(1) {
15 Some(s) => s,
16 None => {
17 println!("Usage: cli_audio_player path_to_a_media_file");
18 return;
19 }
20 };
21 let instance = Instance::new().unwrap();
22
23 let md = Media::new_path(&instance, path).unwrap();
24 let mdp = MediaPlayer::new(&instance).unwrap();
25
26 let (tx, rx) = channel::<()>();
27
28 let em = md.event_manager();
29 let _ = em.attach(EventType::MediaStateChanged, move |e, _| {
30 match e {
31 Event::MediaStateChanged(s) => {
32 println!("State : {:?}", s);
33 if s == State::Ended || s == State::Error {
34 tx.send(()).unwrap();
35 }
36 },
37 _ => (),
38 }
39 });
40
41 mdp.set_media(&md);
42
43 // Start playing
44 mdp.play().unwrap();
45
46 // Wait for end state
47 rx.recv().unwrap();
48}
Sourcepub fn raw(&self) -> *mut libvlc_event_manager_t
pub fn raw(&self) -> *mut libvlc_event_manager_t
Returns raw pointer
Auto Trait Implementations§
impl<'a> Freeze for EventManager<'a>
impl<'a> RefUnwindSafe for EventManager<'a>
impl<'a> !Send for EventManager<'a>
impl<'a> !Sync for EventManager<'a>
impl<'a> Unpin for EventManager<'a>
impl<'a> UnwindSafe for EventManager<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more