文档章节

VLC函数调用过程

xxdd
 xxdd
发布于 2016/10/14 11:00
字数 193
阅读 70
收藏 0

1. 初始化vlc模块

LIBVLC_API libvlc_instance_t *libvlc_new( int argc , const char *const *argv );
//示例
const char * const vlc_args[] = {
		"-I", "dumy",      // No special interface
		"--ignore-config", // Don't use VLC's config
		"--plugin-path=./plugins" };

// init vlc modules, should be done only once
libvlc_instance_t* pVLCInstance_ = libvlc_new(sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);

2.  创建播放器对象

LIBVLC_API libvlc_media_player_t * libvlc_media_player_new( libvlc_instance_t *p_libvlc_instance );
//示例
libvlc_media_player_t* pMediaPlayer_ = libvlc_media_player_new(pVLCInstance_);

3.  创建事件管理器

LIBVLC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t *p_mi );
//示例
libvlc_event_manager_t* pEventManager_ = libvlc_media_player_event_manager(pMediaPlayer_);

4.  打开本地文件

LIBVLC_API libvlc_media_t *libvlc_media_new_path(libvlc_instance_t *p_instance,const char *path );

5.  打开网络文件

LIBVLC_API libvlc_media_t *libvlc_media_new_location(libvlc_instance_t *p_instance,const char * psz_mrl );

6.  把媒体文件放到播放器里面

LIBVLC_API void libvlc_media_player_set_media( libvlc_media_player_t *p_mi,libvlc_media_t *p_md );

7.  播放视频控制

LIBVLC_API int libvlc_media_player_play ( libvlc_media_player_t *p_mi );
LIBVLC_API void libvlc_media_player_pause ( libvlc_media_player_t *p_mi );
LIBVLC_API void libvlc_media_player_stop ( libvlc_media_player_t *p_mi );

8.  释放资源

LIBVLC_API void libvlc_media_player_release( libvlc_media_player_t *p_mi );
LIBVLC_API void libvlc_media_release( libvlc_media_t *p_md );
LIBVLC_API void libvlc_release( libvlc_instance_t *p_instance );

 

© 著作权归作者所有

下一篇: H.264 解析
xxdd
粉丝 3
博文 54
码字总数 12958
作品 0
海淀
程序员
私信 提问
VLC源码分析知识总结 (一)#和##的使用

关于#和## 1.1).在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。 比如在早期的VLC版本...

地狱的烈火
2013/04/26
1K
0
CentOS 6.2 下编译使用Libvlc

总的来说把VLC内嵌入自己的应用有4种途径: •直接调用VLC进程 •VLC的plugin for Mozilla •VLC的ActiveX插件 •调用libvlc 最近需要VLC动态库做开发,故需要编译vlc,并修改VLC 将自己的A...

lichao19881026
2014/05/16
488
0
Hacker Guide/Decoder:如何做一个解码器(VLC)

本篇笔记是在学习 Wiki - Hacker Guide /Decoder 过程中的简单翻译与记录,初学编码,敬请批评指正。 概要 1 如何书写一个解码器   1.1 VLC中的解码器究竟是什么?   1.2 解码器配置   ...

Rew_
2018/01/16
0
0
VLC调试:增加messages.c日志函数,在无vlc_object_t下打印日志

修改源码: 1、在includevlc_messages.h函数中增加代码 2、在srcmiscmessages.c中增加代码 a、定义静态变量,存放vlcobjectt对象 b、在vlcLogSet被调用时,更新spriv值 c、在vlcLogDeinit中清...

筱骏
2016/04/13
0
0
vlc相关学习资料汇总及零散技术总结

一、参考资料 官网的编译教程:http://wiki.videolan.org/Win32CompileMSYS 编译的各种问题:http://wiki.videolan.org/Win32CompileMSYSTroubleShooting 已经编译好的各种版本:http://nigh...

筱骏
2016/05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于运维,该怎么决定它的方向,这个似工作又似兴趣的存在

我之前主要从事网络、桌面、机房管理等相关工作,这些工作使我迷惘,这应该是大多数运维人都经历过的过程; 18年国庆,我从国内前三的消费金融公司裸辞,下海创业,就是想要摆脱这样的困境。...

网络小虾米
20分钟前
5
0
Java Timer的用法

Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("11232"); } }, 200000 , 1000); public void schedule(TimerTask task, long delay......

林词
24分钟前
4
0
使用js动态加载外部js文件以及动态创建script脚本

动态脚本指的是在页面加载时不存在,但将来的某一时刻通过修改该DOM动态添加的脚本。和操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。 动态加载外的外...

Bing309
31分钟前
3
0
从零开始入门 K8s | Kubernetes 网络概念及策略控制

作者 | 阿里巴巴高级技术专家 叶磊 一、Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特...

阿里巴巴云原生
35分钟前
3
0
天气获取

本文转载于:专业的前端网站➨天气获取 $.get("http://wthrcdn.etouch.cn/WeatherApi", { citykey: cityCode }, function (d) { //创建文档对象 var parser = new ......

前端老手
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部