How can I get the length of a song in Qt 5.1 API? I think I can read it using Length
metadata but I'm not sure if this metadata will be available for all audio files.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You seem to be looking for the duration
property.
This would be the QML solution:
duration : int
This property holds the duration of the media in milliseconds.
If the media doesn't have a fixed duration (a live stream for example) this will be 0.
This would be the C++ solution:
qint64 QAudioBuffer::duration() const
Returns the duration of audio in this buffer, in microseconds.
This depends on the /l format(), and the frameCount().
回答2:
The other way you can achieve this is using QMediaPlayer
. An example would be:
QMediaPlayer *player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("C:/Users/Music/mySong.mp4"));
qDebug()<<"Song duration: "<<player->duration();
I hope this can help.