如何使用Qt 5.1获取歌曲的长度?

时间:2013-12-29 17:39:58

标签: c++ qt audio qt5 qtmultimedia

如何在Qt 5.1 API中获取歌曲的长度?我想我可以使用Length元数据来阅读它,但我不确定这些元数据是否适用于所有音频文件。

2 个答案:

答案 0 :(得分:2)

您似乎在寻找duration属性。

这将是QML解决方案:

  

duration : int

     

此属性保存媒体的持续时间(以毫秒为单位)。

     

如果媒体没有固定的持续时间(例如直播),则为0。

这将是C ++解决方案:

  

qint64 QAudioBuffer::duration() const

     

返回此缓冲区中音频的持续时间,以微秒为单位。

     

这取决于/ l format()和frameCount()。

答案 1 :(得分:0)

另一种方法是使用QMediaPlayer。一个例子是:

QMediaPlayer *player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("C:/Users/Music/mySong.mp4"));
qDebug()<<"Song duration: "<<player->duration();

我希望这可以提供帮助。