s
solmik25 марта 2020 г. 3:34

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

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

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

15
Evgenii Legotckoi
  • 25 марта 2020 г. 3:43

Добрый день

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

    s
    • 26 марта 2020 г. 4:03

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

      Evgenii Legotckoi
      • 27 марта 2020 г. 16:28

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

        s
        • 29 марта 2020 г. 22:20

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

          s
          • 29 марта 2020 г. 22:26
          //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
            • 29 марта 2020 г. 22:29
            //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
              • 29 марта 2020 г. 22:36
              //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
                • 30 марта 2020 г. 13:35

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

                  s
                  • 30 марта 2020 г. 14:11

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

                    Evgenii Legotckoi
                    • 30 марта 2020 г. 14:16

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

                      s
                      • 31 марта 2020 г. 18:04

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

                        s
                        • 31 марта 2020 г. 18:25

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

                          Evgenii Legotckoi
                          • 2 апреля 2020 г. 12:48

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

                            s
                            • 3 апреля 2020 г. 17:52

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

                              s
                              • 17 апреля 2020 г. 14:04
                              • Ответ был помечен как решение.

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

                                Комментарии

                                Только авторизованные пользователи могут публиковать комментарии.
                                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                                Ua

                                Qt - Тест 001. Сигналы и слоты

                                • Результат:84баллов,
                                • Очки рейтинга4
                                Ua

                                Qt - Тест 001. Сигналы и слоты

                                • Результат:42баллов,
                                • Очки рейтинга-8
                                ОК

                                Qt - Тест 001. Сигналы и слоты

                                • Результат:47баллов,
                                • Очки рейтинга-6
                                Последние комментарии
                                ИМ
                                Игорь Максимов22 ноября 2024 г. 21:51
                                Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                                Evgenii Legotckoi
                                Evgenii Legotckoi31 октября 2024 г. 23:37
                                Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                                A
                                ALO1ZE19 октября 2024 г. 17:19
                                Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                                ИМ
                                Игорь Максимов5 октября 2024 г. 16:51
                                Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                                d
                                dblas55 июля 2024 г. 20:02
                                QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                                Сейчас обсуждают на форуме
                                f
                                firstlunoxod15 февраля 2025 г. 13:46
                                Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                                Дмитрий
                                Дмитрий3 февраля 2025 г. 16:24
                                Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                                NW
                                Nayo Wai30 января 2025 г. 19:22
                                не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                                n
                                nkly3 января 2025 г. 12:52
                                Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                                M
                                Marsel17 августа 2023 г. 0:26
                                OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

                                Следите за нами в социальных сетях