質問

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