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. not getting proper metadata from a media file .
Forum Updated to NodeBB v4.3 + New Features

not getting proper metadata from a media file .

Scheduled Pinned Locked Moved Solved General and Desktop
7 Posts 2 Posters 675 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.
  • S Offline
    S Offline
    saber
    wrote on last edited by
    #1

    i made a function to get the metadata .
    but i am not getting all the metadata .example like duration.

            QStringList infos;
            QStringList metadatalist = m_player->availableMetaData();
            int list_size = metadatalist.size();
            QString metadata_key;
            QVariant var_data;
    
            for (int indx = 0; indx < list_size; indx++)
            {
                metadata_key  = metadatalist.at(indx);
                var_data      = m_player->metaData(metadata_key);
    
                infos << QString(metadata_key + QString(" : %1").arg(var_data.toString()));
            }
    

    i am not getting duration for example.

    but i am getting duration by this code

    float pi = m_player->duration()/60001;
    

    what is wrong?

    mrjjM 1 Reply Last reply
    0
    • S saber

      i made a function to get the metadata .
      but i am not getting all the metadata .example like duration.

              QStringList infos;
              QStringList metadatalist = m_player->availableMetaData();
              int list_size = metadatalist.size();
              QString metadata_key;
              QVariant var_data;
      
              for (int indx = 0; indx < list_size; indx++)
              {
                  metadata_key  = metadatalist.at(indx);
                  var_data      = m_player->metaData(metadata_key);
      
                  infos << QString(metadata_key + QString(" : %1").arg(var_data.toString()));
              }
      

      i am not getting duration for example.

      but i am getting duration by this code

      float pi = m_player->duration()/60001;
      

      what is wrong?

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @saber
      Hi
      Maybe duration is not included in the meta data.
      m_player->duration() not from meta data as far as i know.

      S 1 Reply Last reply
      0
      • mrjjM mrjj

        @saber
        Hi
        Maybe duration is not included in the meta data.
        m_player->duration() not from meta data as far as i know.

        S Offline
        S Offline
        saber
        wrote on last edited by
        #3

        @mrjj
        ok got that.
        another issue .

        float pi = m_player->duration()/60001;
        

        dose giving me a round number(5,9,8) instead of float number (3.5,2.5).

        mrjjM 1 Reply Last reply
        0
        • S saber

          @mrjj
          ok got that.
          another issue .

          float pi = m_player->duration()/60001;
          

          dose giving me a round number(5,9,8) instead of float number (3.5,2.5).

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by mrjj
          #4

          @saber
          Hi
          Try
          float pi = m_player->duration()/60001.0; // note the extra .0

          if m_player->duration() returns INT
          float pi = (float)m_player->duration()/60001.0;

          or the very c++ way
          float pi = static_cast<float>(m_player->duration())/60001;

          1 Reply Last reply
          2
          • S Offline
            S Offline
            saber
            wrote on last edited by saber
            #5

            here is the final function

            //in constractor
            
            m_player = new QMediaPlayer(this);
                    m_player->setMedia(QUrl::fromLocalFile(pathName));
                    connect(m_player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
                            this, SLOT(detailmedia(QMediaPlayer::MediaStatus)));
            
            void propertiesw::detailmedia(QMediaPlayer::MediaStatus status)
            {
                if (status == QMediaPlayer::LoadedMedia){
            
                     QStringList infos;
                    QStringList metadatalist = m_player->availableMetaData();
                    int list_size = metadatalist.size();
                    QString metadata_key;
                    QVariant var_data;
            
                    for (int indx = 0; indx < list_size; indx++)
                    {
                        metadata_key  = metadatalist.at(indx);
                        var_data      = m_player->metaData(metadata_key);
            
                        infos << QString(metadata_key + QString(" : %1").arg(var_data.toString()));
                    }
            
                    float pi = m_player->duration()/60000.0;
            
                    infos << QString("Duration"+ QString(" : %1").arg(QString::number(pi)));
                }
            }
            
            1 Reply Last reply
            0
            • mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #6

              ok :)
              so .0 was enough ?

              S 1 Reply Last reply
              0
              • mrjjM mrjj

                ok :)
                so .0 was enough ?

                S Offline
                S Offline
                saber
                wrote on last edited by
                #7

                @mrjj

                yes.
                as simple as can be.

                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