QT播放视频程序

QT播放视频程序

Pro程序

#-------------------------------------------------
#
# Project created by QtCreator 2018-12-26T15:51:22
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = untitled2
TEMPLATE = app

QT += multimedia
QT += multimediawidgets
QT += axcontainer

SOURCES += main.cpp\
        mainwindow.cpp \
    form.cpp

HEADERS  += mainwindow.h \
    form.h

FORMS    += mainwindow.ui \
    form.ui

mainwindow.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include "form.h"
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QMediaPlaylist>
#include <QtMultimedia>
#include <QtMultimediaWidgets>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

private:
    Ui::MainWindow *ui;

};

#endif // MAINWINDOW_H

main.cpp

#include "mainwindow.h"
#include <QApplication>
#include<QDesktopWidget>
#include "form.h"
#include<QDebug>

QDesktopWidget *desk = QApplication::desktop();


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
//    QDesktopWidget *desktop = QApplication::desktop();

//    int N = desktop->screenCount();

    MainWindow w;
    w.show();
    Form second;
///显示第二屏幕
//    if(N>0)
//    {
//     second.setGeometry(desktop->screenGeometry(1));
//     second.show();
//     qDebug()<<N;
//    }

////
/////处理视频代码
/// //处理视频代码
    QWidget* widget=new QWidget;
    QMediaPlayer *player=new QMediaPlayer;
    QMediaPlaylist *playlist=new QMediaPlaylist;
    QVideoWidget *videoWidget=new QVideoWidget;
    QVBoxLayout*laa=new QVBoxLayout;
    videoWidget->setAspectRatioMode(Qt::IgnoreAspectRatio);
    videoWidget->setFullScreen(true);
    laa->addWidget(videoWidget);
    widget->setLayout(laa);
    playlist->addMedia(QUrl::fromLocalFile("/添加movec指令.mp4"));
    player->setVideoOutput(videoWidget);
    player->setPlaylist(playlist);
    videoWidget->show();
    playlist->setCurrentIndex(0);
    widget->showFullScreen();
    widget->setGeometry(desk->screenGeometry(1));
    player->play();



    return a.exec();
}

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "form.h"
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QMediaPlaylist>
#include <QtMultimedia>
#include <QtMultimediaWidgets>
#include<QDebug>
#include<QVBoxLayout>
#include<QWidget>
#include<QDesktopWidget>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);





}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
//   QWidget* widget=new QWidget;
//   QMediaPlayer *player=new QMediaPlayer;
//   QMediaPlaylist *playlist=new QMediaPlaylist;
//   QVideoWidget *videoWidget=new QVideoWidget;
//   QVBoxLayout*laa=new QVBoxLayout;

//videoWidget->setAspectRatioMode(Qt::IgnoreAspectRatio);
//videoWidget->setFullScreen(true);
//laa->addWidget(videoWidget);
//widget->setLayout(laa);

//   playlist->addMedia(QUrl::fromLocalFile("F:\\添加movec指令.mp4"));//两种添加路经的方式
//   playlist->addMedia(QUrl::fromLocalFile("/添加movec指令.mp4"));
// playlist->addMedia(QUrl::fromLocalFile("E:\\move\\01.mp4"));
//   player->setVideoOutput(videoWidget);
//   player->setPlaylist(playlist);
//   videoWidget->show();
//   playlist->setCurrentIndex(0);
//   widget->showFullScreen();
//   widget->setGeometry(desk->screenGeometry(1));
//   player->play();
   qDebug()<<"aaaa";

}

void MainWindow::on_pushButton_2_clicked()
{

}

mainwindow.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <widget class="QPushButton" name="pushButton">
    <property name="geometry">
     <rect>
      <x>20</x>
      <y>160</y>
      <width>75</width>
      <height>23</height>
     </rect>
    </property>
    <property name="text">
     <string>打开视频1 </string>
    </property>
   </widget>
   <widget class="QPushButton" name="pushButton_2">
    <property name="geometry">
     <rect>
      <x>120</x>
      <y>160</y>
      <width>75</width>
      <height>23</height>
     </rect>
    </property>
    <property name="text">
     <string>打开视频2</string>
    </property>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>400</width>
     <height>23</height>
    </rect>
   </property>
  </widget>
  <widget class="QToolBar" name="mainToolBar">
   <attribute name="toolBarArea">
    <enum>TopToolBarArea</enum>
   </attribute>
   <attribute name="toolBarBreak">
    <bool>false</bool>
   </attribute>
  </widget>
  <widget class="QStatusBar" name="statusBar"/>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值