VLC-Qt实现简单的视频播放器

VLC-Qt是一个结合了Qt应用程序和libVLC的免费开源库。它提供了用于媒体播放的核心类,以及用于快速开发媒体播放器的GUI类。由于集成了整个libVLC,VLC-Qt具备了libVLC的所有特性,

例如:libVLC实例和播放器、单个文件和列表播放、音频和视频控制、元数据管理。这使得VLC-Qt成为快速创建功能齐全的跨平台媒体播放器的理想选择。

VLC-Qt主要由三部分组成:

  • 核心库:连接到libVLC并控制播放。核心类使开发者能够完全控制libVLC及其所有特性,同时支持多个实例和/或播放器。
  • Widgets库:提供了一些预先制作的窗口部件,如视频窗口、搜索部件、音量滑块、音视频控制器等,用于构建媒体播放器的UI。
  • QML库:提供了使用OpenGL的简单视频播放功能。

要使用VLC-Qt,可以下载并编译它,或者使用官网上预编译的版本。VLC-Qt的使用相对简单,可以通过查看示例来学习如何使用。例如,可以下载示例代码,然后修改相关设置以适应自己的安装路径,从而实现播放本地视频或RTSP流等功能。

vlc-qt下载:

官网地址:(Quickly create a fully functional cross-platform media player - VLC-Qt)

Github 地址:https://github.com/vlc-qt

这里我下载的MiGW的库,

 下载完成解压出来3个目录。

include:包含了所需的头文件
lib:包含所需的 lib 文件
bin:包含了所需的 dll 文件(动态库及插件) 

Demo程序下载

地址:GitHub - vlc-qt/examples: VLC-Qt Examples

解压后目录如下所示。

然后打开 simple-player.pro,并将 src.pro 中的 VLC-Qt 相关设置改为自己的路径:
修改 simple-player.pro中vlc-qt相关库内容,主要为最后两行。

#
# VLC-Qt Simple Player
# Copyright (C) 2015 Tadej Novak <tadej@tano.si>
#

TARGET      = simple-player
TEMPLATE    = app
CONFIG 	   += c++11

QT         += widgets

SOURCES    += main.cpp \
    SimplePlayer.cpp \
    EqualizerDialog.cpp

HEADERS    += SimplePlayer.h \
    EqualizerDialog.h

FORMS      += SimplePlayer.ui \
    EqualizerDialog.ui

LIBS       += -lVLCQtCore -lVLCQtWidgets


# Edit below for custom library location
LIBS       += -L/Users/tadej/workspace/tanoprojects/install/vlc-qt/lib -lVLCQtCore -lVLCQtWidgets
INCLUDEPATH += /Users/tadej/workspace/tanoprojects/install/vlc-qt/include

主要修改最后两行,以下是修改后的路径,按自己存放路径来。

LIBS       += -L$$PWD/vlc-qt/lib -lVLCQtCore -lVLCQtWidgets
INCLUDEPATH += $$PWD/vlc-qt/include

编译,然后生成,运行结果如下图所示。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/540931.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

模板方法模式:定义算法骨架的设计策略

在软件开发中&#xff0c;模板方法模式是一种行为型设计模式&#xff0c;它在父类中定义一个操作的算法框架&#xff0c;允许子类在不改变算法结构的情况下重定义算法的某些步骤。这种模式是基于继承的基本原则&#xff0c;通过抽象类达到代码复用的目的。本文将详细介绍模板方…

婆婆被一句“公积金都比你儿子高”整破防了

上一篇&#xff1a;腾讯员工&#xff1a;我年入百万&#xff0c;月供 6 千多&#xff0c;有娃 一个&#xff0c;媳妇大学老师&#xff0c;税后 1.5 万&#xff0c;想辞职躺平&#xff0c;靠媳妇养家&#xff0c;不知道可不可以 一位阿里巴巴集团的员工的家庭成员寻求建议&#…

MybatisPlus——常用注解

MybatisPlus——常用注解 MybatisPlus通过扫描实体类&#xff0c;并基于反射获取实体类信息作为数据库表信息 BaseMapper后的指向的是User实体类 package com.example.mybatisplus02.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.my…

RHCE实验2-DNS服务正反向解析

实验开始 一、DNS正向解析 注&#xff1a; server端&#xff1a;192.168.32.147 node端&#xff1a;192.168.32.141 网址&#xff1a;www.openlab.com 1、server端和node端都关闭安全软件&#xff08;以server端为例&#xff09; [rootserver ~]# setenforce 0 [rootser…

新手如何使用腾讯云服务器搭建网站?so easy~

使用腾讯云服务器搭建网站全流程&#xff0c;包括轻量应用服务器和云服务器CVM建站教程&#xff0c;轻量可以使用应用镜像一键建站&#xff0c;云服务器CVM可以通过安装宝塔面板的方式来搭建网站&#xff0c;腾讯云服务器网txyfwq.com整理使用腾讯云服务器建站教程&#xff0c;…

对给定向量旋转

对给定向量旋转 顺时针&#xff1a; 逆时针&#xff1a; 源码&#xff1a; QPointF rotateVector(const QPointF& dir, double angle, bool flag){double rad (angle * M_PI) / 180;QPointF res;if (flag){float x static_cast<float>(dir.x() * std::cos(rad) …

GRE/MGRE详解

GRE GRE&#xff1a;通用路由封装&#xff0c;是标准的三层隧道技术&#xff0c;是一种点对点的隧道技术&#xff1b; 该技术可以实现不同的网络之间安全的访问&#xff1b; 如上&#xff1a;可以使用该技术搭建一条专线&#xff0c;实现公司A与分公司A1之间相互通信&#xf…

7/8电源连接器航空插头端子

概述 7/8电源连接器是一种工业电源连接器的规格型号之一&#xff0c;常见于工业领域的电力传输和连接应用。它的名称中的“7/8”代表连接器插头的直径尺寸&#xff0c;通常为7/8英寸。这种类型的连接器通常用于较大电流传输和较高功率设备的连接&#xff0c;具有较大的电流承载…

在视频号开店,新手一定要注意了,这几个细节很多人都不知道

大家好&#xff0c;我是电商笨笨熊 视频号小店作为今年黑马项目&#xff0c;自是吸引力不少的电商玩家&#xff1b; 但是在这些玩家中不免有一些新手玩家&#xff0c;从未做过电商&#xff0c;或者做过其他平台的电商但是没有接触过视频号&#xff1b; 而视频号小店在某些地…

【央国企专场】——国家电网

国家电网目录 一、电网介绍1、核心业务2、电网组成 二、公司待遇三、公司招聘1、招聘平台2、考试安排2.3 考试内容 一、电网介绍 1、核心业务 国家电网公司&#xff08;State Grid Corporation of China&#xff0c;简称SGCC&#xff09;是中国最大的国有企业之一&#xff0c…

ORA-00600: internal error code, arguments: [krbcbp_9]

解决方案 1、清理过期 2、control_file_record_keep_time 修改 恢复时间窗口 RMAN (Recovery Manager) 是 Oracle 数据库的备份和恢复工具。在 RMAN 中&#xff0c;可以使用“恢复窗口”的概念来指定数据库可以恢复到的时间点。这个时间点是基于最近的完整备份或增量备份。 …

记录一次上传文件,file文件有,但是formData一直为空的问题

1&#xff0c;axios请求有两种方式&#xff0c;第一种 asiox.post(…) axios({ url: this.url, method: “POST”, … }) 然后我不管用什么东西获取文件&#xff0c;最后肯定是有一个file对象&#xff0c;咱们拿到file对象&#xff0c;进行如下操作 const formData new FormDa…

vscode前端项目使用Tailwind CSS开发必备技能,5分钟快速上手

Tailwind CSS IntelliSense 是一款功能强大的工具&#xff0c;可以帮助开发者更快、更高效地编写代码。该工具可以实时提供 Tailwind CSS 类的建议&#xff0c;减少错误&#xff0c;提高代码质量。通过使用 IntelliSense&#xff0c;开发者可以提高生产力&#xff0c;减少学习曲…

根据ELK官网指引部署ELK- ECK-Elastic-​ Kibana​-Learn-ELK-(一)

**Attention: 1、You need open the ELK official website and step by step to deploy . 2、If you copy my command ,you must check them if it not match your environment . 一、official website Elastic documentation | Elastic Check there. 二、 ECK简介…

逆向案例二十三——某租逆向,总是有映射源文件怎么办以及分析webpack代码

网址&#xff1a;aHR0cHM6Ly93d3cubWFvbWFvenUuY29tLyMvYnVpbGQ 抓取数据包发现载荷以及数据都进行了加密&#xff1a; 定位方法一&#xff1a;直接搜decrypt(,进入js文件&#xff0c;可以发现就是直接AES的解密方法&#xff0c;打上断点&#xff0c; 下方的d是解密函数 现在有…

AcWing4655.重新排序

【题目链接】4655. 重新排序 - AcWing题库 输入样例&#xff1a; 5 1 2 3 4 5 2 1 3 2 5输出样例&#xff1a; 4【代码及详细注释】 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N1e510; ll a[N],b[N],s[N]; //a用于存储原本的数组 …

国税发票查验接口、电子增值税发票查验接口、数电票查验接口

翔云发票查验接口支持增值税发票管理系统开具发票的真伪&#xff0c;通过发票代码、号码、日期、金额、校验码四要素信息进行真伪的查验&#xff0c;支持返回全票面信息&#xff0c;API接口便于集成&#xff0c;可适用于多种应用场景。 发票查验接口python调用示例&#xff1a;…

MYSQL原理学习篇简记(二)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小周同志&#xff0c;25届双非校招生Java选手&#xff0c;很高兴认识大家 &#x1f4d5;学习出处&#xff1a;本文是学自小林coding (xiaolincoding.com) 网站的MYSQL图解篇 &#x1f525;如果感觉博主的文章还不错的…

在IIS中启用动态压缩

在iis管理中 对网站启用压缩可以节省带宽 提高网站的响应速度&#xff0c;默认情况下IIS启用多了“静态内容”的压缩。 下面就如何启用“动态内容压缩”说说方法&#xff1a; 1.打开iis中的网站&#xff0c;右侧管理项中显示有压缩 2、双击打开“压缩”&#xff0c;“静态内容…

cocos creator 实现spine局部换装

1 使用3.7.4版本 2 js代码 3 c Native层修改源码