- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Qt 应用程序中播放视频。到目前为止,这是我的代码:
#include <QApplication>
#include <QWidget>
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QUrl>
#include <iostream>
using namespace std;
const int WIDTH = 1280;
const int HEIGHT = 720;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.resize(WIDTH, HEIGHT);
window.setWindowTitle("Video Test");
window.show();
QMediaPlayer *player = new QMediaPlayer();
player->setMedia(QUrl::fromLocalFile("/Path/To/Video.mp4"));
QVideoWidget *videoWidget = new QVideoWidget(&window);
player->setVideoOutput(videoWidget);
videoWidget->resize(WIDTH, HEIGHT);
videoWidget->show();
player->play();
return app.exec();
}
问题:视频显示和播放正常,但视频没有调整大小以适应 QVideoWidget。视频中比小部件大的部分被截掉了。
提前致谢!
编辑:我减少了代码并注意到,当应用程序启动时视频被切断,但是当我使用鼠标调整窗口大小时它实际上适合大小:
#include <QApplication>
#include <QWidget>
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QUrl>
#include <iostream>
using namespace std;
const int WIDTH = 1280;
const int HEIGHT = 720;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMediaPlayer *player = new QMediaPlayer();
QVideoWidget *videoWidget = new QVideoWidget();
player->setVideoOutput(videoWidget);
player->setMedia(QUrl::fromLocalFile("/Path/To/Video.mp4"));
player->play();
videoWidget->resize(WIDTH/3, HEIGHT/3);
videoWidget->show();
return app.exec();
}
最佳答案
对于 2016 年的任何人来说,QVideoWidget 仍然是失败的。但是,使用包含场景图的 QGraphicsView 小部件,并将单个 QGraphicsVideoItem 添加到场景图中。似乎工作...
嗯,除了它没有完全居中。左边有一个 1px 的边框。并且大多数时候它会挂起进入全屏。我收到类似“在没有 AVPlayerLayer 的情况下调用 updateVideoFrame(这不应该发生)”之类的错误。进步!
.. 哦,它也占用了大约 10 倍的 CPU。
您知道什么有效,而且效果很好吗? GStreamer。谢谢你,gstreamer。甚至将它集成到 python/qt 中也非常有效。
关于qt - QVideoWidget : Video is cut off,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38374158/
我在视频前面创建了一个按钮(使用 QVideoWidget 和 QMediaPlayer)。我正在使用具有透明背景的图像来设置图像按钮。 如何将 QPushbutton 设置为透明,但里面的图像可见?
我遇到了一个奇怪的问题,需要一些帮助。情况很简单:我有一个 QMediaPlayer、QVideoWidget 和一些布局(例如 QVboxLayout;好吧,这并不重要) .问题是当我添加指定对齐方
我有一个 Qt 应用程序,它简单地从默认网络摄像头捕获并将其显示在 QVideoWidget 上。在 ui 中,我有一个简单的 MainWindow,在 VerticalLayout 中有一个 QGr
各位!我尝试将 click 属性设置为 QMediaPlayer 元素,但我找不到制作它的模式,如果我尝试将按钮放在视频前面,按钮会放在视频后面,即使有 button->raise(); videoW
这应该很简单,但我无法弄清楚。如何获取加载到 QVideoWidget/QMediaPlayer 中的文件的视频尺寸。所以,我的代码如下: QMediaPlayer m_MediaPLayer(0,
我想在 Qt 应用程序中播放视频。到目前为止,这是我的代码: #include #include #include #include #include #include using nam
我想在 Qt 应用程序中播放视频。到目前为止,这是我的代码: #include #include #include #include #include #include using nam
我有以下内容 QVideoWidget* vw = new QVideoWidget; QMediaResource mr(QUrl::fromLocalFile(item->data(Qt::Use
我试图在视频播放器(QVideoWidget)之上覆盖一些图形(QtGraphicsView)。我已经尝试将 QtGraphicsView 子类样式表设置为透明和背景画笔,但没有一个起作用。 #sel
我正在开发一个简单的视频循环应用程序,想知道是否有办法将音量 slider 控件添加到 QVideoWidget 的全屏模式。 我希望应用程序在启动时显示一个小的QVideoWidget。然后在双击视
我有以下代码: #include #include #include int main(int argc, char * argv[]) { QApplication testQt(ar
我在 Ubuntu 10.10(奔腾 4)上尝试使用 QtMobility 1.2.0 和 Qt 4.7.4 播放视频时发现性能很差2.80GHz)。 有趣的是 totem(也使用 gstreamer
尽管我在我的 .pro 文件中声明了 QT += multimedia multimediawidgets,但我收到错误未定义对 QMediaPlayer 和 QVideoWidget 构造函数、析构
我想在蓝框(ui图片)中插入视频,但我不知道如何插入视频文件。 我的代码在这里。我不知道如何添加视频...只知道制作视频播放器的示例... import sys from PyQt5 import Q
我想用 QT6 逐帧处理网络摄像头的流。我在网上查过,但由于 QTMultimedia 使用 QT6 进行了大量修改,而且由于 QT6 非常新,所以所有可用的文档/问题都已过时。 因此,为了实现我的目
我是 Qt 的初学者。但根据一些教程,我在 qt 设计器中创建了一个 UI,它将显示实时流视频。我读过,为了添加视频,我需要将小部件升级为 QVideoWidget。然后我将 .ui 转换为 .py
我正在使用 Qgrpahicsscene、QgraphicsView、qvideowidget 播放视频 videoWidget = new QVideoWidget; QGraphicsScene
我是一名优秀的程序员,十分优秀!