Qt - odtwarzanie plików wideo z wykorzystaniem klasy QMediaPlayer i QVideoWidget
Stronę tą wyświetlono już: 1333 razy
Klasa QMediaPlayer umożliwia odtwarzanie również plików wideo. W tym przypadku należy brać pod uwagę, że to, czy program odtworzy dany plik wideo zależy od obecności w systemie odpowiednich kodeków. W przypadku plików wideo konieczne jest również użycie kontrolki QVideoWidget, która jest przygotowana specjalnie pod renderowanie wyświetlanych klatek filmu. Niestety kontrolka ta może zostać utworzona tylko za pomocą ręcznie napisanego kodu np. tak:
- playlist = new QMediaPlaylist;
- playlist->addMedia(QUrl::fromLocalFile("C:/video_file_1.avi"));
- video = QVideoWidget(this->ui->centralWidget);
- player = new QMediaPlayer(this->ui->centralWidget);
- player->setVideoOutput(videoWidget);
- player->setMedia(playlist);
W przypadku użycia kontrolki QVideoWIdget należy skorzystać z zdarzenia resizeEvent w celu dostosowania obszaru tejże kontrolki:
- void MainWindow::resizeEvent(QResizeEvent *event)
- {
- QWidget::resizeEvent(event);
- QRect r = ui->centralWidget->geometry();
- videoWidget->setGeometry(0, 0, r.width(), r.height());
- }
Kontrolka QVideoWidget udostępnia kilka metod, dzięki którym można zmienić właściwości wyświetlanego obrazu:
- brightness - zwraca bieżące ustawienie przyciemniania i rozjaśniania obrazu;
- setBrightness - przyciemnia lub rozjaśniania obraz;
- contrast - zwraca bieżące ustawienie kontrastu obrazu;
- setContrast - ustawia kontrast obrazu;
- hue - zwraca bieżące ustawienie odcieni kolorów obrazu;
- setHue - ustawia odcień kolorów obrazu
Domyślnie wartości wszystkich wyżej wymienionych parametrów są ustawione na 0 a ich dostępny zakres mieści się od -100 do 100.

Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski

Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz

Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha

Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams

Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis

Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół

Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz

Tytuł:
OpenCV 3. Komputerowe rozpoznawanie obrazu w C++ przy użyciu biblioteki OpenCV
Autor:
Adrian Kaehler, Gary Bradski

Tytuł:
C++ w 24 godziny. Wydanie VI
Autor:
Rogers Cadenhead, Jesse Liberty

Tytuł:
C++ Optymalizacja kodu. Sprawdzone techniki zwiększania wydajności
Autor:
Guntheroth Kurt