1,获取pcm银屏总时长的方法:
输入音频所在路径,通过音频文件大小和采样率的数据计算pcm音频文件的总时长:
qint64 getAudioTime(const QString &filePath)
{
QFile file(filePath);
if (file.open(QIODevice::ReadOnly)) {
qint64 fileSize = file.size();
qint64 time = fileSize / (16000.0 * 2.0);
file.close();
return time;
}
return -1;
}
2,通过QMediaPlayer播放并获取MP3等格式的音频:
连接相关信号:
m_pMediaPlayer = new QMediaPlayer;
connect(m_pMediaPlayer, SIGNAL(metaDataAvailableChanged(bool)), this, SLOT(OnMetaDataAvailableChanged(bool)));
connect(m_pMediaPlayer, SIGNAL(durationChanged(qint64)), this, SLOT(onDurationChanged(qint64)));
connect(m_pMediaPlayer, SIGNAL(stateChanged(QMediaPlayer::State)), this, SLOT(onOriginalStateChanged(QMediaPlayer::State)));
a,收到durationC