作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
在前面的章节中,我们曾说过 libVLC 是异步播放的。也就是说,无法立刻得到要想的结果(例如:媒体时长),倘若要获取这些信息,必须通过事件通知和回调来实现。
基本步骤
- 创建事件管理器 - libvlc_event_manager_t,可选的方式有:
-
libvlc_media_event_manager():媒体相关的事件管理器。
比如,要监听媒体的改变状态(libvlc_MediaStateChanged),就需要用到它。 -
libvlc_media_list_event_manager():媒体列表相关的事件管理器。
比如,要监听媒体列表停止(libvlc_MediaListPlayerStopped),就需要用到它。 -
libvlc_media_player_event_manager():播放器相关的事件管理器。
比如,要监听播放器的音量(libvlc_MediaPlayerAudioVolume),就需要用到它。
-
通过 libvlc_event_attach() 订阅所感兴趣的事件,如果要退订事件,可使用 libvlc_event_detach()。