基于libvlc写个最简略的播放器

来源:互联网 发布:淘宝怎么会有苏宁易购 编辑:程序博客网 时间:2024/05/19 23:16

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);
本文转自:http://www.myexception.cn/mobile/1181369.html
0 0
原创粉丝点击