Wie zu spielen ein lokales video in einem Qt-Widgets-Anwendung in Qt creator?
Dies ist wahrscheinlich ein sehr noob Frage... ich bin sehr neu in Qt, und zu versuchen, die Programmierung in Qt creator. Nun erstellte ich eine neue Qt-Widgets-Anwendung von Qt creator, und spielen wollen, ein video mit ihm. Ich habe jetzt die folgenden 6 Dateien in meinem Projekt:
- Projekt
- Projekt.pro
- Header
- videoplayer.h
- Quellen
- main.cpp
- videoplayer.cpp
- Formen
- videoplayer.ui
- Andere Dateien
- /Users/jemandem/irgendwo
- Demo.mp4
- /Users/jemandem/irgendwo
Wo und wie genau soll ich schreiben mein code, um es spielen Demo.mp4 wenn ich meine Anwendung (vielleicht mit einigen tools genannt QVideoPlayer)? Sollte ich hinzufügen, einige Qwidget auf meinen videoplayer.ui? Ich habe jetzt die vier Tasten "play", "pause", "full_screen" und "neu anordnen" auf meinem videoplayer.ui. Das Ergebnis möchte ich etwas mit features von:
- Drücken Sie die play-Taste, um Spiel-Demo.mp4 auf der oberen linken Seite des gesamten Fensters
- Drücken Sie Pause, um pause
- Drücken full_screen auf enter full screen (wenn QMediaPlayer können eingeben/quit full screen selbst, dann ist diese Funktion nicht notwendig)
- drücken Sie neu anordnen, um die Wiedergabe-Fenster von oben-Links nach oben-rechts
- zusätzlich: vor-und Zurückspulen (wieder, wenn QVideoPlayer oder etwas Qt-sofern nicht bereits über dieses feature verfügt)
- Qt Schiffe mit Beispielen von video-Playern, das wäre ein guter Start. Sie sind auch online hier: qt-project.org/doc/qt-5/multimedia-examples.html
InformationsquelleAutor HiLos | 2014-10-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du suchst Qt Multimedia-Widgets. (Sie müssen möglicherweise installieren Sie zusätzliche Pakete, wenn unter Linux).
Die Grundidee geht so:
QVideoWidget
. Dies ist, wo das video angezeigt wird..ui
Datei.fullScreen
Eigenschaft.QMediaPlayer
der kontrolliert, was wird gespielt und wenn er gespielt wird.QMediaPlayer::setVideoOutput(yourVideoWidgetGoesHere);
.QMediaPlaylist
zu IhremQMediaPlayer
.QMediaPlayer::play()
und Sie sollten gut zu gehenDann werden Sie wollen einige grundlegende Kontrollen, wenn diese funktioniert so weit.
QMediaPlayer
bietet die folgenden slots, die genau das tun, als Ihre Namen suggerieren:pause()
play()
stop()
setPosition(int)
argument wird in Millisekunden angegeben.duration()
von Interesse sein könnten.setVolume(int)
undsetMuted(bool)
. Volume geht von 0 bis 100.setPlaybackRate(double)
metaData(QString key)
: http://qt-project.org/doc/qt-5/qmediaobject.html#metaDataJede dieser hat auch eine entsprechende änderung signal, sehr interessant für Sie ist wahrscheinlich die
positionChanged(int)
- signal zu aktualisieren, einen Schieberegler oder ähnliches mit der aktuellen position.Basic-Beispiel mit freundlicher Genehmigung der Qt-Dokumentation:
QVideoWidget
im UI-Designer. Ich fand diese Antwort aber nicht weiß, welches widget zu verwenden (Sie können fügen Sie eine normale widgets in Qt Designer und dann fördern SieQVideoWidget
)Was Sie suchen, ist die Umsetzung einer QMediaPlayer wenn Sie auf
Qt 5
eine QVideoPlayer wenn Sie aufQt 4.4
Für
QMediaPlayer
, müssen Sie die folgende Implementierung für das hinzufügen von einem Film :