Вопрос по QMediaPlayer программа воспроизведения MP4 выходит ненормально - PullRequest
0 голосов
/ 18 июня 2020

При использовании QMedaiPlayer в QT для воспроизведения файлов MP4 сборка проходит нормально, и программа аварийно завершает работу во время выполнения, что беспокоило меня в течение многих дней. Я надеюсь, что каждый может помочь!

  1. Нет проблем со сборкой, и он аварийно завершает работу во время выполнения. не зависит от размера файла MP4.
  2. Использование файлов MKV не будет работать, и это не проблема формата файла.
  3. Версия - QT 5.12.8

Это главное окно. cpp файл

    MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow){

    this->setFixedSize(1024,576);
    ui->setupUi(this);

    QHBoxLayout  *m_layout= new QHBoxLayout(this);
    QMediaPlayer *m_player = new QMediaPlayer(this);

    m_player->setMedia(QUrl::fromLocalFile(QString::fromLocal8Bit("D:/try.mkv")));

    m_videoW = new QVideoWidget(this);
    m_layout->addWidget(m_videoW);
    this->setLayout(m_layout);

    m_player->setVideoOutput(m_videoW);
    m_videoW->show();
    m_player->play();

    qDebug()<<"hello";
}

void MainWindow::paintEvent(QPaintEvent *){

    QPainter painter(this);

    painter.drawPixmap(0,0,width(),height(), m_videoW->currentPixmap());

}

Это файл mainwindow.h

    class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    void paintEvent(QPaintEvent*);
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QVideoWidget *m_videoW;

};

В файл pro также добавлена ​​соответствующая библиотека:

QT       += core gui
QT       += multimedia
QT       += multimediawidgets

Я так и не нашел, в чем проблема, помогите, пожалуйста, найти! Спасибо!

Протестируйте с помощью qDebug, hello может выводиться нормально.

* Код был отображен по принципу наименьшего повторения.

...