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.

有帮助吗?

解决方案

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().

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top