【玩转VLC】--- 基于libvlc写个最简单的播放器

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



猜你喜欢

转载自blog.csdn.net/tx3344/article/details/8518039