通过【玩转VLC】--- ubuntu下编译vlc 我们已经把vlc编译哦了。生成了一系列的bin和libvlc.so.
接下来我们就用编译好的libvlc.so搞一个最简单的播放器。
我认为vlc的伟大之处有一点就是他并没有把整个播放器写成一个硬生生的bin。而是独立出来个libvlc库,其他的玩家也可以用它的库自己搞一个和他功能一样强大的播放器。
这些部分协同作战,形成了功能强大的libvlc。让我们开工。
#include <vlc/vlc.h>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
static const char * test_defaults_args[] = {
"-v",
"--ignore-config",
"-I",
"dummy",
"--no-media-library"
};
static const int test_defaults_nargs =
sizeof (test_defaults_args) / sizeof (test_defaults_args[0]);
int main (void)
{
libvlc_instance_t *instance;
libvlc_media_t *media;
libvlc_media_player_t *player;
const char * file = "./test.mpg";
instance = libvlc_new (test_defaults_nargs, test_defaults_args);
assert (instance != NULL);
media = libvlc_media_new_path (instance, file);
assert (media != NULL);
player = libvlc_media_player_new_from_media (media);
assert (player != NULL);
libvlc_media_release (media);
libvlc_media_player_play (player);
sleep(10);
libvlc_media_player_stop (player);
libvlc_media_player_release (player);
libvlc_release (instance);
return 0;
}
上篇已经把vlc编译好了,运行make install.安装
gcc vlctest.c -lvlc -o vlctest
运行之前设置一下环境变量
export LD_LIBRARY_PATH=/usr/local/lib/
ok开始运行
./vlctest
其实就简单的3步骤 就能把视频播出来。
1.通过 libvlc_new 创建一个libvlc的实例,以后都需要这个实例来创建各个模块的实例。
2.通过 libvlc_media_new_path 创建一个 libvlc_media_t的实例。libvlc把多媒体文件的个体抽象成了libvlc_media_t。
3.通过 libvlc_media_player_new_from_media 把上面的media传入然后创建了一个播放器的实例。以后直接对这个player操作就行。
比如
libvlc_media_player_play(player);
libvlc_media_player_stop(player);
libvlc_media_player_pause(player);