Всем доброго времени суток! Появилась необходимость сделать собственный простенький плеер для просмотра видеопотока с ip-камер. Раньше с PyQT не работал, поэтому прошу особо не пинать.
Запускаю плеер, видео начинает проигрываться. Делаю двойной клик по видео и оно переходит в полноэкранный режим. Делаю снова двойной клик, как и задумано происходит выход из полноэкранного режима, но при этом видео пропадает и в окне плеера просто черный экран. Если снова перейти в fullscreen, то в нём видео проигрывается. Не могу понять в чём проблема и почему так происходит. Если кто-то сможет мне помочь, то буду благодарен!
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from PyQt5.QtCore import Qt, QUrl
from PyQt5 import QtGui
from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer
from PyQt5.QtMultimediaWidgets import QVideoWidget
from PyQt5.QtWidgets import (QApplication, QWidget, QGridLayout)
class VideoWidget(QVideoWidget):
def __init__(self, parent=None):
super(VideoWidget, self).__init__(parent)
def mouseDoubleClickEvent(self, event):
self.setFullScreen(not self.isFullScreen())
event.accept()
class VideoPlayer(QWidget):
def __init__(self, parent=None):
super(VideoPlayer, self).__init__(parent)
grid = QGridLayout()
self.setLayout(grid)
self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
self.videoWidget = VideoWidget()
self.mediaPlayer.setVideoOutput(self.videoWidget)
self.mediaPlayer.setMedia(QMediaContent(QUrl("http://192.168.10.1:8008")))
grid.addWidget(self.videoWidget, 0, 0)
self.mediaPlayer.play()
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
player = VideoPlayer()
player.resize(320, 240)
player.show()
sys.exit(app.exec_())