QMediaPlayer переключение видео.
C++, QMediaPlayer, QMediaPlaylist, QMediaPlaylist, QGraphicsVideoItem
Помогите разобраться пожалуйста!
1)Я делаю QMediaPlayer с QMediaPlayList
2)В QMediaPlayer player ставлю:
VideoItem* item (унаследован от QGraphicsVideoItem )
player.setVideoOutput(item);
3) Добавляю на сцену item
К QMediaPlayer сигналы прикрутил, запускаю видео, когда оно говорит "MediaLoaded".
На первый взгляд вроде все хорошо, видео играет. Но при переключении видео, иногда возникает баг. Звук и видео не воспроизводится. Но статус у QMediaPlayer говорит "PlayingState" и медиа статус "BufferedMedia" , как бы намекает, что он не причем. Такое случается,примерно, при каждом 4-10 переключении.
Если я уберу строчку с player->setVideoOutput(item); Баг частично исчезает, звук переключается корректно(звук играет всегда), но видео - нет(естественно).
Вот пример(скриншоты), стрелочками переключаешь и видео может по какой то причине не заиграть...
Любые идеи пожалуйста 😢
P.S
Вот что я переопределил в VideoItem:
QRectF VideoItem::boundingRect() const
{
return QRectF(posX(),posY(),m_size.width(),m_size.height());
}
void VideoItem::paint(QPainter
painter, const QStyleOptionGraphicsItem
option, QWidget *widget)
{
painter->setViewport(QRect(boundingRect().x(),boundingRect().y(),std::ceil(boundingRect().width()),std::ceil(boundingRect().height())));
QGraphicsVideoItem::paint(painter,option,widget);
}

Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Unknown akadamn
- 24 января 2025 г. 17:14
Qt - Тест 001. Сигналы и слоты
- Результат:84баллов,
- Очки рейтинга4
- Unknown akadamn
- 24 января 2025 г. 16:22
Qt - Тест 001. Сигналы и слоты
- Результат:42баллов,
- Очки рейтинга-8


Проблема решена обновлением кодеков...