Comment jouer une vidéo locale dans un Qt Widgets de l'Application, dans Qt creator?
C'est probablement une question de noob... je suis très nouveau à Qt, et en essayant de programmation dans Qt creator. Maintenant, j'ai créé une nouvelle Qt Widgets de l'Application de Qt creator, et que vous voulez lire une vidéo avec elle. J'ai maintenant 6 fichiers dans mon projet:
- Projet
- Projet.pro
- En-têtes
- videoplayer.h
- Sources
- main.cpp
- videoplayer.cpp
- Formes
- videoplayer.l'interface utilisateur
- D'autres fichiers
- /Utilisateurs/quelqu'un/quelque part
- Démo.mp4
- /Utilisateurs/quelqu'un/quelque part
Où et comment exactement dois-je écrire mon code pour le faire jouer à la Démo.mp4, quand je lance mon application (peut-être à l'aide de certains outils appelés QVideoPlayer)? Dois-je ajouter un peu de Qwidget sur mon videoplayer.l'interface utilisateur? J'ai maintenant quatre boutons "play", "pause", "full_screen" et "réorganiser" sur mon videoplayer.l'interface utilisateur. Le résultat que je veux c'est quelque chose avec des fonctionnalités de:
- Appuyer sur le bouton lecture pour jouer à la Démo.mp4 sur la partie supérieure gauche de la fenêtre entière
- Appuyez sur la touche Pause pour mettre en pause
- Appuyez sur full_screen pour entrer de plein écran (si QMediaPlayer pouvez entrer/quitter le plein écran lui-même, alors cette fonction n'est pas nécessaire)
- appuyez sur réorganiser pour mettre la fenêtre de lecture à partir d'en haut à gauche à en haut à droite
- supplémentaires: avance rapide et de rembobinage (encore une fois, si QVideoPlayer ou quelque chose de Qt à condition de ne pas déjà a cette fonction)
- Qt est livré avec des exemples de vidéos de joueurs, ce serait un bon point de départ. Ils sont également en ligne ici: qt-project.org/doc/qt-5/multimedia-examples.html
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour Qt Multimedia Widgets. (Vous devrez peut-être installer des paquets supplémentaires lors de l'exécution de Linux).
L'idée de base qui va comme ceci:
QVideoWidget
. C'est là que la vidéo s'affiche..ui
fichier.fullScreen
propriété.QMediaPlayer
qui contrôle ce qui est joué et quand il est joué.QMediaPlayer::setVideoOutput(yourVideoWidgetGoesHere);
.QMediaPlaylist
à votreQMediaPlayer
.QMediaPlayer::play()
et vous devriez être bon d'allerAlors vous voulez quelques contrôles de base si cela fonctionne tellement bien.
QMediaPlayer
contient les emplacements suivants exactement faire comme leurs noms l'indiquent:pause()
play()
stop()
setPosition(int)
, argument est exprimée en millisecondes.duration()
pourrait être d'intérêt.setVolume(int)
etsetMuted(bool)
. Volume va de 0 à 100.setPlaybackRate(double)
metaData(QString key)
: http://qt-project.org/doc/qt-5/qmediaobject.html#metaDataChacun de ces a également un changement correspondant du signal, très intéressant pour vous, c'est probablement le
positionChanged(int)
signal de mise à jour d'un curseur ou quelque chose de similaire avec la position actuelle.Exemple de base de la courtoisie de la documentation de Qt:
QVideoWidget
dans le Concepteur d'INTERFACE utilisateur. J'ai trouvé cette réponse, mais ne savez pas quel widget à utiliser (Vous pouvez insérer un normal widget Qt Designer et puis le promouvoir àQVideoWidget
)Ce que vous cherchez est de mettre en œuvre un QMediaPlayer si vous êtes sur
Qt 5
, un QVideoPlayer si vous êtes surQt 4.4
Pour
QMediaPlayer
, vous aurez à utiliser un après la mise en œuvre pour l'ajout d'un film :