国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

QT簡單的視頻播放器

這篇具有很好參考價值的文章主要介紹了QT簡單的視頻播放器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.功能

選擇路徑下的固定視頻格式文件播放,對應(yīng)的音頻和視頻同步播放

2.新建一個不含UI界面的QT工程

qt視頻播放器,qt,開發(fā)語言,c++,c語言

qt視頻播放器,qt,開發(fā)語言,c++,c語言

特別注意:QT中的路徑名不能含中文

?qt視頻播放器,qt,開發(fā)語言,c++,c語言

設(shè)置一個不含UI界面的工程

qt視頻播放器,qt,開發(fā)語言,c++,c語言

取消構(gòu)建目錄

因為要引入視頻播放器的模塊,我們在pro中引入對應(yīng)的模塊

qt視頻播放器,qt,開發(fā)語言,c++,c語言

因為要引入布局格式,所以我們引入水平布局和垂直布局,對應(yīng)的.h中引入以下兩個頭文件

qt視頻播放器,qt,開發(fā)語言,c++,c語言

同樣的,我們要引入視頻播放的頭文件,需要在pro中引入對應(yīng)的模塊,然后添加對應(yīng)的頭文件

qt視頻播放器,qt,開發(fā)語言,c++,c語言

qt視頻播放器,qt,開發(fā)語言,c++,c語言

將需要播放聲音的頭文件引入

#include <QMediaPlayer>

一切準備就緒,開始視頻播放器的設(shè)置

--》創(chuàng)建對象。然后在.cpp中的構(gòu)造函數(shù)內(nèi)進行對象的初始化

?qt視頻播放器,qt,開發(fā)語言,c++,c語言

剩下的步驟在代碼中進行中文注釋:

.h文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QHBoxLayout>  //水平布局
#include <QVBoxLayout>  //垂直布局
#include <QVideoWidget> //顯示視頻
#include <QMediaPlayer> //播放聲音
#include <QPushButton>  //按鈕
#include <QSlider>      //滑動條
#include <QStyle>       //設(shè)置圖標
#include <QFileDialog>  //選擇文件/文件夾
class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();
public slots:
    void chooseVideo();
private:
    QMediaPlayer *mediaPlayer;
    QVideoWidget *videoWidget;
    QVBoxLayout *vbox;
    //創(chuàng)建按鈕的兩個對象:選擇視頻按鈕和開始播放按鈕
    QPushButton *chooseBtn,*playBtn;
    //創(chuàng)建進度條/滑塊的對象
    QSlider *slider;
};

#endif // WIDGET_H

?.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //對象實例化
    this->mediaPlayer = new QMediaPlayer(this);
    this->videoWidget = new QVideoWidget(this);
    //設(shè)置播放畫面的最小窗口
    this->videoWidget->setMinimumSize(400,400);

    //實例化整個窗口的布局---垂直布局
    this->vbox = new QVBoxLayout(this);
    this->setLayout(this->vbox);

    //實例化需要的控件--選擇視頻按鈕
    this->chooseBtn = new QPushButton("選擇視頻",this);
    //實例化需要的控件--播放按鈕--設(shè)置圖標代替文字
    this->playBtn = new QPushButton(this);
    this->playBtn->setIcon(this->style()->standardIcon(QStyle::SP_MediaPlay));
    //實例化需要的控件--滑塊/進度條
    this->slider = new QSlider(this);
    //默認的進度條布局為垂直的,我們修改為水平方向
    this->slider->setOrientation(Qt::Horizontal);

    //實例化一個水平布局,將以上空間放在水平布局內(nèi)
    QHBoxLayout *hbox = new QHBoxLayout;

    //給水平布局添加控件---順序固定,依次放置選擇視頻按鈕、播放按鈕、進度條
    hbox->addWidget(this->chooseBtn);
    hbox->addWidget(this->playBtn);
    hbox->addWidget(this->slider);

    //將播放窗口和水平布局都添加到垂直布局中
    this->vbox->addWidget(this->videoWidget);
    this->vbox->addLayout(hbox);//布局中添加布局,addLayout();

    //將選擇視頻對應(yīng)的按鈕和槽函數(shù)進行關(guān)聯(lián)
    connect(this->chooseBtn,SIGNAL(clicked()),this,SLOT(chooseVideo()));

}

Widget::~Widget()
{

}

//選擇視頻的槽函數(shù)
void Widget::chooseVideo()
{
    //選擇視頻,返回一個播放視頻的名字
    QString name = QFileDialog::getSaveFileName(this,"選擇視頻",".","WMV(*.wmv)");
    //設(shè)置媒體的聲音
    this->mediaPlayer->setMedia(QUrl(name));
    //輸出視頻畫面
    this->mediaPlayer->setVideoOutput(this->videoWidget);
    //播放
    this->mediaPlayer->play();

}

?.pro

#-------------------------------------------------
#
# Project created by QtCreator 2022-12-11T15:14:38
#
#-------------------------------------------------

QT       += core gui multimedia multimediawidgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = day4_videoPlayer
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

CONFIG += c++11

SOURCES += \
        main.cpp \
        widget.cpp

HEADERS += \
        widget.h

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

?最終的視頻播放器(簡單版)樣式如下

qt視頻播放器,qt,開發(fā)語言,c++,c語言

------------------------------------------------------------------------------------------------------------------------------------end

?留給讀者的問題:

1.在視頻播放器中添加聲音設(shè)置;

2.添加滑動條拖動改變播放對應(yīng)的進度;

3.將目錄下的視頻放置在界面中,通過雙擊實現(xiàn)視頻的選擇播放;

....

?QT中的類特別多,牢記QT三大護法,對UI界面的繪制和非UI界面的繪制要熟悉,記不住沒關(guān)系,一定要會找,通過庫中的用法去定位自己需要實現(xiàn)的功能,找到對應(yīng)的類和函數(shù)以及其中的枚舉,讀者在學(xué)習時切記要多查閱,多自己實現(xiàn),QT雖然為我們封裝了很多類,如何靈活使用是關(guān)鍵!

加油文章來源地址http://www.zghlxwxcb.cn/news/detail-780304.html

到了這里,關(guān)于QT簡單的視頻播放器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 用VLC開發(fā)視頻播放器/組件(兩種方式:libVLC / VLC-Qt)

    用VLC開發(fā)視頻播放器/組件(兩種方式:libVLC / VLC-Qt)

    MSVC-2015 Qt 5.14.2 QCreator 參考:心流劍 libVLC 各版本 下載鏈接 我的下載版本為:3.0.11 sdk/lib文件夾目錄 qmake vlc 部分的配置(路徑根據(jù)自己的修改) 只需要 : libvlc.lib、libvlccore.lib 把 plugins 文件夾、libvlc.dll、libvlccore.dll 復(fù)制到 bin_Debug / bin_Release VLC-Qt 下載地址 參考鏈接1:鏈接

    2024年02月12日
    瀏覽(23)
  • QT實現(xiàn)視頻播放器

    QT實現(xiàn)視頻播放器

    1.我們需要的頭文件 2. .cpp文件 3.ui界面 ? ? ?

    2024年02月12日
    瀏覽(23)
  • QT5.9實現(xiàn)一個視頻播放器播放 暫停進度條

    QT5.9實現(xiàn)一個視頻播放器播放 暫停進度條

    參考博主 1https://blog.csdn.net/liji_digital/article/details/83691035 參考博主2https://blog.csdn.net/qq_41071706/article/details/89855986 通過選擇按鈕選擇本地視頻文件 點擊播放按鈕播放文本框中的文件(不支持其他類型文件的異常檢測) 支持mp4 avi等等 如果不支持見參考博主2的內(nèi)容 點擊暫停按鈕

    2023年04月22日
    瀏覽(28)
  • 【QT項目:視頻播放器——Qt opengl編程】通過shader完成顯示yuv

    【QT項目:視頻播放器——Qt opengl編程】通過shader完成顯示yuv

    通過Qt opengl不是為了3D繪制,而是為了將視頻繪制起來 使用opengl 可以極大降低yuv轉(zhuǎn)rgb的轉(zhuǎn)換開銷 1、為什么用QT的opengl 簡單,界面可以自動疊加 void paintGL(); // 具體的繪制寫在該函數(shù)里 void initializeGL(); // 材質(zhì)初始化 void resizeGL(int width, int height); // 當窗口發(fā)生變化(縮放) QO

    2023年04月09日
    瀏覽(27)
  • Qt 實現(xiàn)簡易的視頻播放器,功能選擇視頻,播放,暫停,前進,后退,進度條拖拉,視頻時長顯示

    Qt 實現(xiàn)簡易的視頻播放器,功能選擇視頻,播放,暫停,前進,后退,進度條拖拉,視頻時長顯示

    1.效果圖 2.代碼實現(xiàn) 2.1 .pro文件 2.2 .h文件 2.3 .cpp文件

    2024年04月12日
    瀏覽(29)
  • 【OpenCV+Qt】實現(xiàn)簡易視頻播放器——支持進度條拖動

    【OpenCV+Qt】實現(xiàn)簡易視頻播放器——支持進度條拖動

    OpenCV實現(xiàn)視頻播放器,其思路大致就是在線程中使用OpenCV中的VideoCapture循環(huán)讀取本地視頻的每一幀Mat,然后發(fā)送到界面轉(zhuǎn)換成QImage進行顯示,而進度條拖動則用到了VideoCapture中的set函數(shù),進度條則是使用Qslider;并且通過自定義新的進度條類實現(xiàn)點擊跳轉(zhuǎn)功能; 效果: 1.進行

    2023年04月08日
    瀏覽(24)
  • linux系統(tǒng)中QT里面的視頻播放器的實現(xiàn)方法

    linux系統(tǒng)中QT里面的視頻播放器的實現(xiàn)方法

    ? ? ? 大家好,今天主要和大家聊一聊,如何使用QT中視頻播放器的方法。 ? 目錄 第一:視頻播放器基本簡介 第二:視頻播放器頭文件說明 ?第三:源文件的具體實現(xiàn)方法 第四:運行效果顯示 ? ? ? ?與音樂播放器一樣使用 QMediaPlayer 類,不同的是需要使用 setVideoOutput(QVi

    2024年02月04日
    瀏覽(27)
  • 嵌入式Qt 開發(fā)一個音樂播放器

    嵌入式Qt 開發(fā)一個音樂播放器

    上篇文章:RK3568源碼編譯與交叉編譯環(huán)境搭建,進行了OK3568開發(fā)板軟件開發(fā)環(huán)境搭建,通過編譯RK3568的源碼,可以得到Qt開發(fā)的交叉編譯相關(guān)工具。 本篇,就來在搭建好的軟件開發(fā)中,進行Qt軟件的開發(fā)測試。由于Qt是支持跨平臺的,因此本篇的音樂播放器,先在Windows上編寫

    2024年02月02日
    瀏覽(41)
  • Qt之基于QMediaPlayer的音視頻播放器(支持常見音視頻格式)

    Qt之基于QMediaPlayer的音視頻播放器(支持常見音視頻格式)

    Qt自帶了一個Media Player的例子,如下圖所示: 但是運行這個例子機會發(fā)現(xiàn),連最基本的MP4格式視頻都播放不了。因為QMediaPlayer是個殼(也可以叫框架),依賴本地解碼器,視頻這塊默認基本上就播放個MP4,甚至連MP4都不能播放,如果要支持其他格式需要下載k-lite或者LAVFilter

    2024年02月02日
    瀏覽(31)
  • Qt/C++編寫手機版本視頻播放器和Onvif工具(可云臺和錄像)

    Qt/C++編寫手機版本視頻播放器和Onvif工具(可云臺和錄像)

    用Qt+ffmpeg寫播放器很多人有疑問,為何不用Qt自己的多媒體框架來寫,最重要的原因是Qt自帶的目前都依賴具體的本地解碼器,如果解碼器不支持,那就是歇菜的,最多支持個MP4格式,而且在手機上也都是支持本地少部分格式的文件,對于各種視頻流完全無能無力。而ffmpeg就不

    2024年02月10日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包