当前位置: 首页 > wzjs >正文

金融行业网站建设方案线上推广软件

金融行业网站建设方案,线上推广软件,上海住房与建设委员会网站,宁夏建设厅网站领导QT播放视频保持视频宽高比消除黑边 1、问题 在播放视频的时候,由于框架的大小发生变化,导致视频出现黑边很不好看。 因此需要像一种方法消除黑边 2、处理 1、读取视频的宽高比 2、设置视频的Widget的大小固定,Widget的宽高比和视频宽高比…

QT播放视频保持视频宽高比消除黑边

1、问题

在播放视频的时候,由于框架的大小发生变化,导致视频出现黑边很不好看。
因此需要像一种方法消除黑边

2、处理

1、读取视频的宽高比
2、设置视频的Widget的大小固定,Widget的宽高比和视频宽高比相同。

  • cpp文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QMediaMetaData>void MainWindow::playVideo()
{player->play();
}MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QVBoxLayout* qs = new QVBoxLayout();ui->centralwidget->setLayout (qs);// 创建播放器和视频窗口player = new QMediaPlayer;QVideoWidget *videoWidget = new QVideoWidget;// 监听媒体加载完成状态QObject::connect(player, &QMediaPlayer::mediaStatusChanged, [=](QMediaPlayer::MediaStatus status) {if (status == QMediaPlayer::LoadedMedia) {  // 媒体已加载完成// 获取视频分辨率元数据QSize resolution = player->metaData().value(QMediaMetaData::Resolution).toSize();if (!resolution.isEmpty()) {qDebug() << "视频宽高:" << resolution;} else {qDebug() << "未获取到分辨率信息";}int w = resolution.width ();int h = resolution.height ();double r = 1.0 * w / h;int ww = 800;int hh = int(ww / r);qDebug() << ww << " " << hh << " s " << w << " " << h;// 固定宽高比videoWidget->setFixedSize (QSize(ww, hh));}});// 强制拉伸填充窗口(可能变形)videoWidget->setAspectRatioMode(Qt::IgnoreAspectRatio);// 隐藏黑边(设置背景色透明)videoWidget->setStyleSheet("background-color: transparent;");player->setVideoOutput(videoWidget);videoWidget->show();// 加载视频文件(支持 MP4、AVI 等常见格式)player->setSource (QUrl::fromLocalFile("/Users/xiaolixi/Desktop/录屏2025-03-01 11.03.06.mov"));// 设置循环播放player->setLoops (-1);QPushButton* start = new QPushButton("start");// 设置视频水平居中qs->addWidget (videoWidget, 0, Qt::AlignHCenter); // 关键:对齐方式qs->addWidget (start);QObject::connect(start, SIGNAL(pressed()), this,  SLOT(playVideo()));
}MainWindow::~MainWindow()
{delete ui;
}
  • h文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMediaPlayer>QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void playVideo();private:Ui::MainWindow *ui;QMediaPlayer *player;
};
#endif // MAINWINDOW_H
  • pro文件
QT       += core gui
QT +=   multimediawidgets
QT +=   multimediagreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++17# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

在这里插入图片描述

缺点

视频大小固定了。但是在我的场景中这个确定不影响。

http://www.dtcms.com/wzjs/474167.html

相关文章:

  • 是将解压缩的wordpress文件夹下面的文件上传到网站根目录.北京seo推广
  • 电脑如何建立网站汕头网站建设推广
  • 网站模版亮点直播营销策划方案范文
  • 做视频商用模板哪个网站靠谱百度推广seo是什么意思
  • 商城模板网站模板百度竞价点击工具
  • 揭阳智能模板建站百度怎么投放自己的广告
  • 我做的网站服务器别人没法左键点击下载呢seo分析及优化建议
  • asp.net建网站seo推广教程视频
  • 中国蔬菜网网站建设电话win优化大师
  • 广告制作协议抚州seo排名
  • 渠道策略的四种方式代做seo关键词排名
  • 余姚住房和建设局网站官方网站百度一下
  • 网址查询地址查询站长之家运营怎么做
  • 网站建设中源码编程同样重要网站seo诊断技巧
  • 企业网站后端模板长沙企业网站建设报价
  • 大宗商品b2b网站建设alexa全球网站排名分析
  • 我有网站 怎么做淘宝推广的网络销售怎么干
  • 学校校园网站建设方案如何自己做网络推广
  • 广水做网站百度搜索高级搜索技巧
  • 如何仿制wordpress主题广州seo网站公司
  • 如何注册腾讯企业邮箱专业网站优化排名
  • 免费网站建设排行榜自制网页
  • 南京网页制作百度seo关键词优化软件
  • 济宁网站建设价格百度竞价推广怎么样才有效果
  • 南京行业网站建设排名怎么优化快
  • 自助网站制作学校seo推广培训班
  • 用bootstarp做的网站最近发生的热点新闻事件
  • 长春如何建立一个平台网站利尔化学股票最新消息
  • linux服务器怎么做网站宁波建站模板系统
  • 如何在百度上做自己的网站免费的网络营销方式