当我播放视频帧率为25的文件时,持续时间会以正确的方式显示。但是,如果我播放视频帧率为29.9的文件,则持续时间错误(低于预期)。
我有以下值的位置(当结束时重复值时,播放仍在进行中):
0 255 1209 2210 3208 4209 5210 6209 7210 8205 9207 10208 11211 12207 13209 14210 15207 16210 17209 18206 19209 20209 21207 22209 23209 24059 24059 24059 24059 24059 24059 24059
如何获得有关持续时间的正确信息?
以下是代码:
player = new QMediaPlayer(this);
connect(player, SIGNAL(durationChanged(qint64)), SLOT(durationChanged(qint64)));
connect(player, SIGNAL(positionChanged(qint64)), SLOT(positionChanged(qint64)));
void durationChanged(qint64 duration)
{
this->duration = duration/1000;
ui->slider->setMaximum(duration / 1000);
}
void positionChanged(qint64 progress)
{
qDebug() << progress;
ui->slider->setValue(progress / 1000);
}