Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Temps de réaction de QMediaPlayer à un changement de vitesse de lecture
Forum Updated to NodeBB v4.3 + New Features

Temps de réaction de QMediaPlayer à un changement de vitesse de lecture

Scheduled Pinned Locked Moved Unsolved French
7 Posts 2 Posters 1.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Tenderbread
    wrote on last edited by
    #1

    Bonjour,

    Dans mon application développée avec PyQt5, je contrôle la vitesse de lecture d'une vidéo à l'aide d'un widget QComboBox qui donne les choix suivants:

    SPEED = ['0.25x', '0.50x', '0.75x', '1.00x', '1.25x', '1.50x', '1.75x', '2.00x', '2.25x', '2.50x', '2.75x', '3.00x']

    J'ai implanté le connecteur suivant:

    self.cbSpeed.currentIndexChanged.connect(self.speedFactorIndexChanged)
    

    Et la méthode va comme suit:

    def speedFactorIndexChanged(self, i):
           # Remove the 'x' and cast to float.
           self.speedFactor = float(self.cbSpeed.itemText(i)[:-1])
    

    J'ai un décorateur 'setter' qui prends en charge la mise à jour de la vitesse de lecture.

    @speedFactor.setter
      def speedFactor(self, speedFactor):
          self.__speedFactor = speedFactor
          print('Speed factor is now {:0.2f}'.format(speedFactor))
          index = self.cbSpeed.findText('{:0.2f}'.format(speedFactor) + 'x', Qt.MatchFixedString)
          # FixMe Warning: "A lot of buffers are being dropped."
          if index >= 0:
              self.cbSpeed.setCurrentIndex(index)
              self.mediaPlayer.setPlaybackRate(speedFactor)
    

    J'ai deux soucis ici. Le premier est en lien avec le "FixMe" que j'ai inscrit dans le code mais j'en ferais une demande d'aide à part si je ne trouve pas de solution. Le second est qu'il y a un délai de plusieurs secondes entre le moment où la valeur de la combo box change et l'effet visible à l'écran (c'est-à-dire le changement de vitesse de lecture).

    PyCharm est mon environnement de développement.

    Merci.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Bonjour et bienvenue sur devnet,

      Quelle version de PyQt5 ?
      Avec quelle version de Qt ?
      Sur quel OS ?
      Avec quel type de vidéo ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • T Offline
        T Offline
        Tenderbread
        wrote on last edited by Tenderbread
        #3

        Environnement PyCharm
        Qt : 5.15.0
        SIP : 5.3.0
        PyQt : 5.15.0
        OS : Kubuntu 20.04
        Video : MP4 produit avec une caméra GoPro.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Que se passe-t-il si vous arrêtez la vidéo, changer la vitesse, puis la relancer ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • T Offline
            T Offline
            Tenderbread
            wrote on last edited by
            #5

            Si j'arrête la lecture et la repart, la vitesse demeure inchangée. C'est-à-dire que j'ai toujours la vitesse d'avant le changement dans le choix fait avec la liste déroulante. Mais la vitesse de la vidéo finie par s'ajuster à la nouvelle valeur. Il y a toujours ce délai. Mais, j'ai noté que quelques secondes avant l'ajustement, la vidéo s'arrête de jouer complètement mais l'indicateur de la position ne s'arrête pas lui! L'image ci-contre illustre le montage graphique des widgets.
            17b2170f-3bd7-430c-a7e5-01f38995e5b8-image.png

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              Puisque vous êtes sous Linux, est-ce que GStreamer arrive à lire correctement cette vidéo ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • T Offline
                T Offline
                Tenderbread
                wrote on last edited by
                #7

                Oui. J'ai utilisé kaffeine pour ce faire. Dans mon application, la lecture se passe très bien si je ne touche à rien!

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved