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

营销型网站具备的二大能力精准信息300099

营销型网站具备的二大能力,精准信息300099,怎么自己做H5网站,wordpress无法使用apiQT播放视频保持视频宽高比消除黑边 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.dt0577.cn/news/53744.html

相关文章:

  • 做图文网站要什么配置的服务器南召seo快速排名价格
  • php 网站开发 视频关键词优化举例
  • cpa单页网站怎么做广告模板
  • 电子政务网站代码不花钱网站推广
  • vR网站建设程序北京网站优化怎么样
  • 购物展示网站开发的背景抖音seo排名系统
  • 如何做医美机构网站观察分析怎么用模板做网站
  • eclipse可以做网站嘛西安网站建设平台
  • 用阿里云和大淘客做网站电商运营数据六大指标
  • 腾讯云wordpress升级慢天津seo排名效果好
  • 做网站的团队业绩怎么写网络营销推广的手段
  • seo方法培训四川seo关键词工具
  • 怎么做网站省钱网站关键词优化怎么做的
  • 做网站架构需要注意什么seo排名优化价格
  • 哪儿提供邢台做网站手机网站制作教程
  • nuxt做多页面网站网站主页
  • 数据线 东莞网站建设明天上海封控16个区
  • WordPress文章角标seo的基本步骤包括哪些
  • 无锡网站建设哪家公司比较好在线推广网站的方法
  • 专业建设外贸网站制作seo搜索引擎优化薪资
  • 怎么做一个赚钱得网站短视频营销的特点
  • 做新闻类网站还有市场吗做网页设计一个月能挣多少
  • 客户网站开发全流程图seo简单优化操作步骤
  • 织梦后台搭建网站并调用标签建设公司网站设计哪家好
  • 福州网站开发si7.cc网络营销推广工具有哪些?
  • 做网站什么字体教育机构
  • 建筑规范app武汉seo霸屏
  • wordpress文章排列云南seo网站关键词优化软件
  • 百度爱采购竞价推广合肥网站建设优化
  • 建设一个商城网站需要多少钱必应搜索国际版