s
solmikMarch 24, 2020, 5:34 p.m.

Вывод медиаплеера на центальный виджет

Привет! Подскажите как (что нужно сделать) в QT Creator вывести медиаплеер на центральный виджет, интерфейс строится графическим способом.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

15
Evgenii Legotckoi
  • March 24, 2020, 5:43 p.m.

Добрый день

Вот релевантный топик Как в Qt воспроизвести видео? на форуме

    s
    • March 25, 2020, 6:03 p.m.

    Почти получилось, звук есть,если файл .avi, экран черный, пробовал яркость устанавливать не помогает, видимо в кодеках дело?
    m_videoWidget->setBrightness(100);

      Evgenii Legotckoi
      • March 27, 2020, 6:28 a.m.

      Попробуйте ещё mp4 формат, также в pro файле обязательно нужно подключить multimedia, впрочем, это у вас должно быть подключено, иначе бы у вас не были доступны видеовиджеты.

        s
        • March 29, 2020, 12:20 p.m.

        Пробовал, и разную кодировку, даже звука нет

          s
          • March 29, 2020, 12:26 p.m.
          //mainwindow.cpp
          #include "mainwindow.h"
          #include "ui_mainwindow.h"
          
          #include <QMediaPlayer>
          #include <QMediaPlaylist>
          #include <QVideoWidget>
          
          MainWindow::MainWindow(QWidget *parent) :
              QMainWindow(parent),
              ui(new Ui::MainWindow)
          {
              ui->setupUi(this);
          
              m_videoWidget = new QVideoWidget(this);
              ui->gridLayout->addWidget(m_videoWidget);
              m_player = new QMediaPlayer(m_videoWidget);
              m_player->setVideoOutput(m_videoWidget);
          
          
          
          }
          
          MainWindow::~MainWindow()
          {
              delete ui;
          }
          
          
          void MainWindow::on_pushButton_2_clicked()
          {
          
          
          
              m_player->setMedia(QUrl::fromLocalFile("/home/mi/Q/v2/s1.mp4"));
              m_videoWidget->setBrightness(100);
              m_videoWidget->aspectRatioMode();
              m_player->QMediaPlayer::setVolume(100);
              m_videoWidget->show();
          
              m_player->play();
              ui->pushButton_2->setText("AAA");
          
          }
          
          
            s
            • March 29, 2020, 12:29 p.m.
            //mainwindow.h
            #ifndef MAINWINDOW_H
            #define MAINWINDOW_H
            
            #include <QMainWindow>
            
            class QVideoWidget;//
            class QMediaPlayer;//
            
            namespace Ui {
            class MainWindow;
            }
            
            class MainWindow : public QMainWindow
            {
                Q_OBJECT
            
            public:
                explicit MainWindow(QWidget *parent = nullptr);
                ~MainWindow();
                QString ss;
            
            
            private:
                Ui::MainWindow *ui;
            
                QVideoWidget *m_videoWidget;
                QMediaPlayer *m_player;
            
                private slots:
            
                void on_pushButton_2_clicked();
            };
            
            #endif // MAINWINDOW_H
            
            
              s
              • March 29, 2020, 12:36 p.m.
              //v3.pro
              //#-------------------------------------------------
              #
              # Project created by QtCreator 2020-03-25T20:35:53
              #
              #-------------------------------------------------
              
              QT       += core gui multimedia multimediawidgets
              
              greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
              
              TARGET = v3
              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 \
                      mainwindow.cpp
              
              HEADERS += \
                      mainwindow.h
              
              FORMS += \
                      mainwindow.ui
              
              # Default rules for deployment.
              qnx: target.path = /tmp/$${TARGET}/bin
              else: unix:!android: target.path = /opt/$${TARGET}/bin
              !isEmpty(target.path): INSTALLS += target
              
              
                Evgenii Legotckoi
                • March 30, 2020, 3:35 a.m.

                По идее всё верно. Какая операционная система в у вас? и нет ли каких-нибудь warning сообщений от приложения? Обычно, если проблемы с кодировкой и чего-то не хватает, то multimedia модуль сыпет ошибками.

                  s
                  • March 30, 2020, 4:11 a.m.

                  Система OpenSUSE Leap 15.1 сообщений никаких нет, Qt 5.9.7 поставил все кодеки что нашел к Qt, в Blender кодирую видео с разными кодеками, ничего не помогает, скаченные видео из разных источников тоже плеер не показывает ((( думаю проблема в программе

                    Evgenii Legotckoi
                    • March 30, 2020, 4:16 a.m.

                    Попробуйте запустить через плейлист, а не через setMedia. Пример есть в этой статье

                      s
                      • March 31, 2020, 8:04 a.m.

                      Не получилось, даже звук пропал

                        s
                        • March 31, 2020, 8:25 a.m.

                        может не в тот виджет выводить нужно? (gridLayout)

                          Evgenii Legotckoi
                          • April 2, 2020, 2:48 a.m.

                          да нет, правильно код там написан. Может быть дело в том, что чего-то не хватает из dev библиотек, gstreamer тот же самый.

                            s
                            • April 3, 2020, 7:52 a.m.

                            да вроде много чего установленно, если неправильный путь указать то же самое, пробовал запустить видео через плей лист (по примерам из док)и из него назад путь взять, не получилось

                              s
                              • April 17, 2020, 4:04 a.m.
                              • The answer was marked as a solution.

                              Заработало, проблема была в библиотеках

                                Comments

                                Only authorized users can post comments.
                                Please, Log in or Sign up
                                AD

                                C ++ - Test 004. Pointers, Arrays and Loops

                                • Result:50points,
                                • Rating points-4
                                m

                                C ++ - Test 004. Pointers, Arrays and Loops

                                • Result:80points,
                                • Rating points4
                                m

                                C ++ - Test 004. Pointers, Arrays and Loops

                                • Result:20points,
                                • Rating points-10
                                Last comments
                                ИМ
                                Игорь МаксимовNov. 22, 2024, 10:51 p.m.
                                Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                                Evgenii Legotckoi
                                Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
                                Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                                A
                                ALO1ZEOct. 19, 2024, 6:19 p.m.
                                Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                                ИМ
                                Игорь МаксимовOct. 5, 2024, 5:51 p.m.
                                Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                                d
                                dblas5July 5, 2024, 9:02 p.m.
                                QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                                Now discuss on the forum
                                m
                                moogoNov. 22, 2024, 6:17 p.m.
                                Mosquito Spray System Effective Mosquito Systems for Backyard | Eco-Friendly Misting Control Device & Repellent Spray - Moogo ; Upgrade your backyard with our mosquito-repellent device! Our misters conce…
                                Evgenii Legotckoi
                                Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
                                добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                                t
                                tonypeachey1Nov. 15, 2024, 5:04 p.m.
                                google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                                NSProject
                                NSProjectJune 4, 2022, 1:49 p.m.
                                Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…

                                Follow us in social networks