// in order to get a video frame, connect to videoFrameChanged signal and start playing // until the first frame has been received
m_bWaitingForFrame = true;
connect(m_xVideoSink.get(), &QVideoSink::videoFrameChanged, this,
&QtFrameGrabber::onVideoFrameChanged, Qt::SingleShotConnection);
m_xMediaPlayer->play(); while (m_bWaitingForFrame)
{ // QMediaPlayer::hasVideo() result isn't valid while media is loading if (m_xMediaPlayer->mediaStatus() != QMediaPlayer::LoadingMedia
&& !m_xMediaPlayer->hasVideo())
{ // There's no video, don't wait for frame
m_bWaitingForFrame = false;
} else
{
Scheduler::ProcessEventsToIdle();
}
}
m_xMediaPlayer->stop();
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.