如何在QMediaPlayer中达到缓冲媒体的特定位置?

时间:2016-04-21 07:56:17

标签: c++ qt

我目前正在尝试使用Qt的播放器示例(Qt\Examples\Qt-5.6\qtmultimedia\multimediawidgets\player)。但即使QMediaPlayer::MediaStatusBufferedMedia,我也无法达到我正在播放的任何视频的特定位置。

为了做到这一点,我刚刚创建了一个QLineEdit,其中用户将他想要进入视频的时间放在几秒钟内,并QPushButton发出一个信号toThisPosition(int) }。

void Player::GoButtonClicked()
{
    qint64 pos = m_LineEdit->text().toInt() * 1000; // time in seconds
    emit thisPosition(pos); // signal emitted
}

我到达播放器的void Player::positionChanged(qint64 progress)位置,只需几秒钟即可获得好时间,但问题出在此处:

  • 视频停留在点击之前,即使光标到达要求的时间 ;
  • 我在我的插槽中走了两次:一次有好时光,一次有时间。例如,如果视频是10秒,我问30,它会变为30,然后返回10,有些(如果视频播放并忽略了我的信号)。

甚至可以这样做吗? QMediaPlayer是否有限制?

0 个答案:

没有答案