博客
关于我
使用VLC开源库开发播放器
阅读量:640 次
发布时间:2019-03-14

本文共 1700 字,大约阅读时间需要 5 分钟。

使用VLC开发播放器可以按照以下步骤进行:

  • 下载VLC开源库

    下载VLC开源代码,可在官方网站获取。选择合适的版本(32位或64位,开发或发布版)进行下载。

  • 建立项目及界面开发

    以Qt为例,在Visual Studio中创建项目。通过Qt Designer设计播放界面,确保能够获取播放窗口句柄以供后续操作。

  • 配置开发环境

    在Visual Studio中完成以下设置:

    • 将VLC SDK目录添加至项目的C/C++include目录,确保头文件可用。
    • 在链接器设置中添加VLC SDK目录,并将libvlc.lib和libvlccore.lib文件添加至输入项,进行静态链接。如果使用动态链接则无需处理库目录和文件。
    1. 使用VLC API
      • 创建实例

        #include <vlc/vlc.h>
        m_vlcInstance = libvlc_new(0, NULL);

      • 创建媒体实例并设置路径

        libvlc_media_t *media = libvlc_media_new_path(m_vlcInstance, filePath.toUtf8().data());

      • 创建播放器实例

        libvlc_media_player_t *mediaPlayer = libvlc_media_player_new_from_media(media);

      • 设置事件回调

        libvlc_event_manager_t *em = libvlc_media_player_event_manager(mediaPlayer);
        libvlc_event_attach(em, libvlc_MediaPlayerTimeChanged, vlcEvents, this);
        libvlc_event_attach(em, libvlc_MediaPlayerEndReached, vlcEvents, this);
        libvlc_event_attach(em, libvlc_MediaPlayerStopped, vlcEvents, this);
        libvlc_event_attach(em, libvlc_MediaPlayerPlaying, vlcEvents, this);
        libvlc_event_attach(em, libvlc_MediaPlayerPaused, vlcEvents, this);

      • 设置播放比例与窗口句柄

        libvlc_video_set_aspect_ratio(mediaPlayer, "1:1");
        libvlc_video_set_mouse_input(mediaPlayer, false);
        libvlc_video_set_key_input(mediaPlayer, false);
        libvlc_media_player_set_hwnd(mediaPlayer, (void *)wid);

      1. 运行控制与释放
        • 控制播放

          libvlc_media_player_play(mediaPlayer);
          libvlc_media_player_set_pause(mediaPlayer);
          libvlc_media_player_stop(mediaPlayer);
          libvlc_media_player_is_playing(mediaPlayer);

        • 释放资源

          libvlc_media_release(media);
          libvlc_media_player_release(mediaPlayer);
          libvlc_release(m_vlcInstance);

        1. 功能扩展
          可通过如下的API实现更多功能:
          libvlc_media_player_get_length(mediaPlayer);
          libvlc_media_player_get_time(mediaPlayer);
          libvlc_media_player_set_time(mediaPlayer, i_time);
        2. 通过以上步骤,可以开发出基本的VLC播放器功能。

    转载地址:http://wrulz.baihongyu.com/

    你可能感兴趣的文章
    numpy 用法
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>
    OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
    查看>>
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
    查看>>
    OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
    查看>>
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>
    OA项目之我的会议(会议排座&送审)
    查看>>