VLC播放简单流程

近期学着使用VLC,发现相关开发的教程很少,VLC官网的资料有点零散不太好入门,所以我写了这篇算是VLC的入门吧。

先来一段VLC的调用主逻辑:

libvlc_instance_t *vlcInstance;
libvlc_media_t *vlcMedia
libvlc_media_player_t *vlcPlayer


vlcInstance = libvlc_new(0,NULL);
vlcMedia = libvlc_media_new_path(vlcInstance, "e:\\media\\jiandie.mp4");
vlcPlayer = libvlc_media_player_new_from_media (vlcMedia);
libvlc_media_release(vlcMedia);
libvlc_media_player_set_hwnd(vlcPlayer, (void*)videoWidget->winId());
libvlc_media_player_play (vlcPlayer);

这个逻辑我是在windows上编译成功的,需要注意的一点是(void*)videoWidget->winId()指的是你用于显示的窗口ID。


说到这随便在往深处说说:

libvlc_new:主要是初始化系统的线程环境,初始化module链表 ,,,? ,,,

libvlc_media_new_path:

先调用make_URI凑个字符串(这里应该有专用名词解释的)如凑为:file:\\e:\media\jiandie.mp4;

input_item_New()

libvlc_media_new_from_input_item()

libvlc_media_player_new_from_media:

根据前一项创建并初始化media_player

libvlc_media_player_set_hwnd:顾名思义不做解释

libvlc_media_player_play:

其中创建线程,需要注意的是以下函数 input_Start() -> vlc_clone()其中创建线程,线程函数为oid *Run( void *obj );

这个线程函数其中Init( p_input ) )和 MainLoop( p_input, true );需特别注意


-流媒体-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值