3

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

4

2 回答 2

4

你似乎在寻找duration房产。

这将是 QML 解决方案:

持续时间:int

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

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

这将是 C++ 解决方案:

qint64 QAudioBuffer::duration() 常量

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

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

于 2013-12-29T17:54:28.327 回答
0

实现此目的的另一种方法是使用QMediaPlayer. 一个例子是:

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

我希望这会有所帮助。

于 2016-08-23T16:52:47.697 回答