zoukankan      html  css  js  c++  java
  • qt中播放视频和音频

    主函数

    #include "studywidget.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        StudyWidget w;
        w.video();
        w.music();
        w.show();
    
        return a.exec();
    }

    函数实现头文件

    #ifndef STUDYWIDGET_H
    #define STUDYWIDGET_H
    
    #include <QWidget>
    #include <QImage>
    #include <QTimer>     // 设置采集数据的间隔时间
    #include <QMediaPlayer>
    #include <QDebug>
    #include <QDir>
    #include <QVideoWidget>
    namespace Ui {
        class StudyWidget;
    }
    
    class StudyWidget : public QWidget
    {
        Q_OBJECT
    
    public:
        explicit StudyWidget(QWidget *parent = 0);
        ~StudyWidget();
        void music();
        void video();
    private:
        Ui::StudyWidget *ui;
    };
    
    #endif // STUDYWIDGET_H

    函数实现cpp

    #include "studywidget.h"
    #include "ui_studywidget.h"
    
    
    StudyWidget::StudyWidget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::StudyWidget)
    {
        ui->setupUi(this);
    }
    
    StudyWidget::~StudyWidget()
    {
        delete ui;
    }
    void StudyWidget::video()
    {
        QMediaPlayer *myPlayer = new QMediaPlayer(this);
        QVideoWidget *video = new QVideoWidget(this);
        video->resize(1104, 622);
        myPlayer->setVideoOutput(video);
        myPlayer->setMedia(QUrl::fromLocalFile("/Users/ZX/Desktop/zx1/1.mp4"));
        myPlayer->play();
    }
    void StudyWidget::music()
    {
        // 音乐播放
        QMediaPlayer *myPlayer = new QMediaPlayer;
        //    QString runPath = QCoreApplication::applicationDirPath();// 获取当前exe所在路径
        //    QString absDir  = runPath + "/1.wav";
        QString absDir = "/Users/ZX/Desktop/zx1/mysound/davichi.mp3";
        //    QString current = QDir::currentPath();
        //    QString absDir  = current.mid(0, current.size() - 6) + "/mysound/davichi.mp3";
        qDebug() << absDir;
        myPlayer->setMedia(QUrl::fromLocalFile(absDir));
        myPlayer->setVolume(80);
        myPlayer->play();
    }





  • 相关阅读:
    Vue和React组件diff更新影响范围对比
    ES6中import和CommonJS中require的区别
    MutationObserver监听DOM变化
    Mint UI中文官网
    为什么在浏览器不支持H265视频播放
    Google谷歌官网首页涂鸦记录
    windows键盘输入无效,键盘灯亮,打字不出字
    javascript实现跨域的方法汇总
    javascript中setInterval的用法
    浅谈Javascript数组的使用
  • 原文地址:https://www.cnblogs.com/zx-hit/p/13549343.html
Copyright © 2011-2022 走看看