如何获得音频文件的总时间?我正在尝试这样做:
QMediaPlayer* audioPlayer = new QMediaPlayer();
audioPlayer->setMedia(QUrl::fromLocalFile("F:/Audio/mysong.mp3"));
audioPlayer->duration(); // return 0但是,函数始终返回0。我在Windows 8上使用了最新的Qt版本。
发布于 2014-07-04 12:17:50
是的,我发现了错误,它是类型转换(qint64),以获得您需要使用"durationChanged“信号的持续时间。
//get duration in durationChanged signal.
connect(audioPlayer, SIGNAL(positionChanged(qint64)), this, SLOT(setPositionSlider(qint64)));
//Old function
void Widget::setPositionSlider(qint64 i)
{
ui->PositionSlider->setValue(i / duration * 100); //0 I thought it was converted into double.
}
//New function
void Widget::setPositionSlider(qint64 i)
{
ui->PositionSlider->setValue(i / 1000);
}https://stackoverflow.com/questions/24572051
复制相似问题