Отслеживание QGraphicsItem поверх видео
Я использую Qt 5.15.2 и C/C++.
Я пытаюсь отслеживать положение Qt QGraphicsItem в соответствии с временной шкалой видео.
Объясни лучше! Я разработал видеоплеер и могу добавить QGraphicsEllipseItem в QGraphicsScene. Я хочу перемещать эллипс во время воспроизведения видео, а также отслеживать и сохранять координаты эллипса и временную метку видео во время воспроизведения видео. После отслеживания координат в соответствии с временными метками видео я хочу воспроизвести видео с самого начала и нарисовать эллипс в соответствии с отслеживаемыми координатами и временными метками видео. До сих пор я могу отслеживать координаты эллипса, но когда я воспроизвожу видео с самого начала, эллипс не отображается.
Я создал подкласс QGraphicsEllipseItem и переопределил QGraphicsEllipseItem::paint(...). Я также реализовал SLOT ::on_mediaPositionChanged(qint64) и подключился к QMediaPlayer::positionChanged, чтобы получать обновления временных меток видео и устанавливать координаты эллипса в соответствии с временными метками. Я также установил интервал уведомления QMediaPlayer (setNotifyInterval(5)) равным пяти миллисекундам, чтобы гарантировать получение всех возможных изменений координат эллипса.
После отслеживания координат эллипса я снова воспроизвожу видео. Чтобы получить координаты в соответствии с меткой времени видео, я ищу метку времени в QMap<qint64, QRect>. После этого я устанавливаю прямоугольник QGraphicsEllipseItem (setRect(rect)) и обновляю его (обновлено(rect)) в ::on_mediaPositionChanged(qint64). В ::paint(...) я устанавливаю только дополнительную информацию, например метки в виде эллипсов. В результате рисуются только последние захваченные координаты эллипса.
Я хотел бы получить от вас некоторую информацию, чтобы попытаться выяснить, как эффективно рисовать эллипс в соответствии с временными метками видео.
Любые идеи будут приветствоваться.
Заранее спасибо.
Я хочу, чтобы координаты QGraphicsEllipseItem отображались в соответствии с временными метками видео во время воспроизведения видео.