通过【玩转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/
./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);