QtAV的编译、安装和使用

4 篇文章 0 订阅

2023.11.12更新:
github上的QtAV源码有更新,下载最新源码重新编译,添加include和lib路径的方法和之前相同,但在QtAV-master/src/Pack.cpp的这个位置

#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
    using Qt::hex, Qt::dec;

报错:多个 using 声明符至少需要 “/std:c++17”
解决方法:在此文件所属的项目libQtAV的.pro文件中添加 CONFIG += c++17
继续编译并运行测试项目,报错提示缺少动态库:
在这里插入图片描述
从依赖库中把缺少的dll文件拷贝并添加到QtAV编译目录的bin目录下(注意选对版本),编译成功后,安装的方法还是和原来一样

准备工作

下载QtAV官方提供的编译好的依赖库 下载地址

解压后得到在这里插入图片描述

下载QtAV-1.12.0源码 下载地址

解压后得到
在这里插入图片描述

QtAV编译

打开QtAV.pro,项目→Build&Run→Build→构建环境,点击详情,将刚才装好的依赖库中的include路径和lib路径分别添加到INCLUDE变量和LIB变量下。【这里要特别注意是32位还是64位的】
在这里插入图片描述
在这里插入图片描述
在Run→Run Environment中给Path变量添加依赖库的bin路径。
在这里插入图片描述
进行release编译,这里选择simpleplayer。在这里插入图片描述
这时很可能会出现“程序异常结束”的报错信息,将依赖库bin目录下的所有.dll动态链接库文件都复制到QtAV编译目录的bin目录下。
在这里插入图片描述

编译成功后,会出现一个最简单的播放器,可以实现最基本的打开文件、播放/暂停、停止的功能。
在这里插入图片描述
选择player进行release编译,会出现一个功能非常健全的播放器,可以实现打开文件/打开url、调整音量、视频截图、播放/暂停、快进/快退、查看视频信息的功能。在这里插入图片描述
还可以对视频的速度、音轨、声道、比例等内容进行设置。
在这里插入图片描述
此时,QtAV的release编译目录下的lib_win_x86文件夹也生成了我们需要的库文件。在这里插入图片描述

QtAV安装

在QtAV的编译目录下找到sdk_install.bat,双击进行安装
在这里插入图片描述
现在QtAV相关的头文件和库文件就被安装到Qt Sdk相关路径下,其他使用QtAV的应用就可以直接依赖了。
在这里插入图片描述

QtAV使用

新建一个项目

#include "MainWindow.h"

#include <QApplication>
#include <WidgetRenderer.h>
#include <QtAV>
#include <QtAVWidgets>
#include <QtAV/AVPlayer.h>

using namespace QtAV;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    WidgetRenderer renderer;
    renderer.show();
    Widgets::registerRenderers();
    AVPlayer player;
    player.setRenderer(&renderer);
    player.play("D:/2021-06-10-17-51-14.flv");	//填写要播放的视频的路径
    return a.exec();
}

在.pro文件中加入

QT += av avwidgets
LIBS += -L$$PWD/ -lQtAV1 -lQtAVWidgets1

【注意】这里我把QtAV1.lib和QtAVWidgets1.lib都放到了.pro文件所在的目录下,因此LIBS的路径是$$PWD,这个路径要根据库文件实际存放的位置来填写。

这时点击编译,可能会出现“程序异常结束”报错信息,把依赖库bin目录下的.dll库文件复制到项目的目录下。
在这里插入图片描述
然后在项目→Build&Run→Build→构建环境中添加以下系统环境变量,其中CPATH指向依赖包的include路径,LD_LIBRARY_PATH、LIBRARY_PATH指向依赖包的lib路径【这里要特别注意是32位还是64位】
在这里插入图片描述
进行release编译,生成的窗口便能成功播放本地视频了。
在这里插入图片描述
【参考出处】
QtAV编译及使用
QtAV编译以及使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值