Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Media player not working for multiple videos
Forum Updated to NodeBB v4.3 + New Features

Media player not working for multiple videos

Scheduled Pinned Locked Moved Solved General and Desktop
qt 5.5videosurfacemedia playergraphicview
41 Posts 8 Posters 13.1k Views 3 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.
  • D Devopia53

    @Kinesis

    Declare QPushButton as a local variable like a mediaPlayer. A lambda function can not capture member variables of this.

    aha_1980A Offline
    aha_1980A Offline
    aha_1980
    Lifetime Qt Champion
    wrote on last edited by
    #32

    @Devopia53 No, it can:

    auto l = [this]() {
      // use members of this here
    }
    

    Qt has to stay free or it will die.

    D 1 Reply Last reply
    0
    • K Offline
      K Offline
      Kinesis
      wrote on last edited by Kinesis
      #33

      @jsulm - Yes it does not work
      @Devopia53 - When I declare local variable , it works.
      @aha_1980 - I will also try like U said .
      Sorry for replying in the same reply . Because I am a new user . I can only post per every 600s

      1 Reply Last reply
      0
      • K Offline
        K Offline
        Kinesis
        wrote on last edited by Kinesis
        #34

        I still have a question . I replaced the slider slots into loop but I can't control the sliders and sliders are not moving when the videos are running .
        Here is the slider code

        QSlider *m_positionSlider = new QSlider(Qt::Horizontal);
                m_positionSlider->setRange(0, 0);
        
               
                connect(mediaPlayer, &QMediaPlayer::positionChanged ,[m_positionSlider, this](qint64 position){
        
                    m_positionSlider->setValue(position);
                });
        
                connect(mediaPlayer, &QMediaPlayer::durationChanged ,[m_positionSlider, this](qint64 duration){
        
                    m_positionSlider->setRange(0,duration);
                });
        
        
                connect(mediaPlayer , &QMediaPlayer::setPosition, [mediaPlayer ,this] (int position){
        
                    mediaPlayer->setPosition(position);
                });
        
        
        jsulmJ 1 Reply Last reply
        0
        • K Kinesis

          I still have a question . I replaced the slider slots into loop but I can't control the sliders and sliders are not moving when the videos are running .
          Here is the slider code

          QSlider *m_positionSlider = new QSlider(Qt::Horizontal);
                  m_positionSlider->setRange(0, 0);
          
                 
                  connect(mediaPlayer, &QMediaPlayer::positionChanged ,[m_positionSlider, this](qint64 position){
          
                      m_positionSlider->setValue(position);
                  });
          
                  connect(mediaPlayer, &QMediaPlayer::durationChanged ,[m_positionSlider, this](qint64 duration){
          
                      m_positionSlider->setRange(0,duration);
                  });
          
          
                  connect(mediaPlayer , &QMediaPlayer::setPosition, [mediaPlayer ,this] (int position){
          
                      mediaPlayer->setPosition(position);
                  });
          
          
          jsulmJ Online
          jsulmJ Online
          jsulm
          Lifetime Qt Champion
          wrote on last edited by jsulm
          #35

          @Kinesis What is this:

          connect(mediaPlayer , &QMediaPlayer::setPosition, [mediaPlayer ,this] (int position){
          
                      mediaPlayer->setPosition(position);
                  });
          

          ?
          QMediaPlayer::setPosition() is a slot not a signal.
          I think you need to change the range

          m_positionSlider->setRange(0, 0);
          

          You can use http://doc.qt.io/qt-5/qmediaplayer.html#duration-prop to set the range.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          K 1 Reply Last reply
          1
          • aha_1980A aha_1980

            @Devopia53 No, it can:

            auto l = [this]() {
              // use members of this here
            }
            
            D Offline
            D Offline
            Devopia53
            wrote on last edited by Devopia53
            #36

            @aha_1980

            I know that well(as [&] or [=]). But what I have described is that you have captured the member variables of the this object directly. Take a look at his source code. here: connect(mediaPlayer, &QMediaPlayer::stateChanged, [m_playButton, this](QMediaPlayer::State state)
            A m_playButton is a member of the this.

            1 Reply Last reply
            1
            • jsulmJ jsulm

              @Kinesis What is this:

              connect(mediaPlayer , &QMediaPlayer::setPosition, [mediaPlayer ,this] (int position){
              
                          mediaPlayer->setPosition(position);
                      });
              

              ?
              QMediaPlayer::setPosition() is a slot not a signal.
              I think you need to change the range

              m_positionSlider->setRange(0, 0);
              

              You can use http://doc.qt.io/qt-5/qmediaplayer.html#duration-prop to set the range.

              K Offline
              K Offline
              Kinesis
              wrote on last edited by
              #37

              @jsulm
              Thanks for your suggestion . Now the slider is running along with video.But to use it like skip slider how should I correct this "QMediaPlayer::setPosition() " which is a slot but not a signal ?By the way , sorry for late response .

              jsulmJ 1 Reply Last reply
              0
              • K Kinesis

                @jsulm
                Thanks for your suggestion . Now the slider is running along with video.But to use it like skip slider how should I correct this "QMediaPlayer::setPosition() " which is a slot but not a signal ?By the way , sorry for late response .

                jsulmJ Online
                jsulmJ Online
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #38

                @Kinesis You don't need

                connect(mediaPlayer , &QMediaPlayer::setPosition, [mediaPlayer ,this] (int position){
                
                            mediaPlayer->setPosition(position);
                        });
                

                You're already using QMediaPlayer::positionChanged...

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                K 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @Kinesis You don't need

                  connect(mediaPlayer , &QMediaPlayer::setPosition, [mediaPlayer ,this] (int position){
                  
                              mediaPlayer->setPosition(position);
                          });
                  

                  You're already using QMediaPlayer::positionChanged...

                  K Offline
                  K Offline
                  Kinesis
                  wrote on last edited by
                  #39

                  @jsulm
                  I got this. It's done now. My code is working fully 100% now . Thanks a lot for helping me . I fell bad that I wasted your time . By the way should I upload my
                  code ? It might help someone . Thanks.

                  jsulmJ 1 Reply Last reply
                  1
                  • K Kinesis

                    @jsulm
                    I got this. It's done now. My code is working fully 100% now . Thanks a lot for helping me . I fell bad that I wasted your time . By the way should I upload my
                    code ? It might help someone . Thanks.

                    jsulmJ Online
                    jsulmJ Online
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #40

                    @Kinesis No need to feel bad - I'm helping here voluntary :-)
                    I don't think you need to upload your code. If somebody has questions he/she can ask.

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    2
                    • W Offline
                      W Offline
                      WoodyLanes
                      Banned
                      wrote on last edited by WoodyLanes
                      #41
                      This post is deleted!
                      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