예제 #1
0
파일: ste.py 프로젝트: Aerasair/diplom
class Player(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        # self.show()
        self.ui.btn_play.clicked.connect(self.playvideo) #включить видео
        self.ui.btn_stop.clicked.connect(self.stopvideo) #остановить видео
        self.ui.btn_pause.clicked.connect(self.pausevideo) #пауза
        self.ui.btn_back.clicked.connect(self.hidewindow) #скрыть окно плеера
        self.ui.verticalSlider.valueChanged.connect(self.setvolume) #громкость
        # self.ui.horizontalSlider.valueChanged.connect(self.settimevideo) #перемотка - починить функцию
        self.ui.listWidget.addItems(listdir("records")) #генерация списка файлов в папке records
        self.ui.listWidget.itemClicked.connect(self.playthis) #выбор видео


        self.player = QMediaPlayer()
        self.player.positionChanged.connect(self.setvideoonslider)#автодвижение ползунка
        self.video = QVideoWidget(self.ui.label)
        self.video.resize(621, 451)
        self.video.move(0, 0)
        self.player.setVideoOutput(self.video)
        self.video.show()

        self.ui.label.customContextMenuRequested.connect(self.testfun) #ПРАВАЯ КНОПКА МЫШИ

    def testfun(self):
        print("Тест успешен")

    def playvideo(self):
        self.player.play()
        self.ui.horizontalSlider.setMaximum(self.player.duration())
        self.ui.horizontalSlider.setPageStep(self.player.duration() / 10)

    def stopvideo(self):
        self.player.stop()

    def pausevideo(self):
        self.player.pause()

    def hidewindow(self):
        self.hide()

    def setvolume(self):
        self.player.setVolume(self.ui.verticalSlider.value())

    def settimevideo(self):
        self.player.setPosition(self.ui.horizontalSlider.value())

    def playthis(self):
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("records/" + str(self.ui.listWidget.currentItem().text()))))

    def setvideoonslider(self):
        self.ui.horizontalSlider.setValue(self.player.position())
        self.ui.lbl_time.setText(str(int(self.player.position() / 1000)) + "/" + str(int(self.player.duration() / 1000)))

    def test(self):
        print("Тест пройден")
class VideoPlayer:
    def __init__(self):
        self.video = QVideoWidget()
        self.video.resize(300, 300)
        self.video.move(0, 0)
        self.player = QMediaPlayer()
        self.player.setVideoOutput(self.video)
        self.player.setMedia(
            QMediaContent(
                QUrl.fromLocalFile("/home/akhil/Videos/SoftwareTrial.mp4")))

    def callback(self):
        self.player.setPosition(
            0)  # to start at the beginning of the videowidget every time
        self.video.show()
        self.player.play()
예제 #3
0
class VideoPlayer:

    def __init__(self):
        self.video = QVideoWidget()
        self.video.resize(300, 300)
        self.video.move(0, 0)
        self.player = QMediaPlayer()
        self.player.setVideoOutput(self.video)
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("D:/FILM/film/data/video/2.mp4")))

        self.timer = QTimer()
        self.timer.timeout.connect(self.check)
        self.timer.start(1000)

    def callback(self):
        self.player.setPosition(0)  # to start at the beginning of the video every time
        self.video.show()
        self.player.play()

    def check(self):
        print('DADA')
예제 #4
0
class Ui_selectVideo(object):
    def openFtoAWindow(self):
        self.Window = QtWidgets.QWidget()
        self.ui = addFaceToAnalyze.AFTA_Ui_Form()
        self.ui.setupUi(self.Window)
        self.ui.getVideo(video=self.video)
        self.Window.show()
        self.widget.hide()

    def getVideo(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog
        fileName, _ = QFileDialog.getOpenFileName(None,
                                                  "Select Video",
                                                  options=options)
        if fileName:
            '''vidcap = cv2.VideoCapture(fileName)
            total = int(vidcap.get(cv2.CAP_PROP_FRAME_COUNT))
            num = total/2
            vidcap.set(cv2.CAP_PROP_POS_MSEC,num)
            success,image = vidcap.read()'''
            shortenedFileName = self.getShortenedFilename(fileName)
            self.movieImageLabel.setPixmap(QtGui.QPixmap())
            self.movieImageLabel.clear()
            self.movieImageLabel.setGeometry(QtCore.QRect(140, 240, 201, 201))
            self.movieImageLabel.setStyleSheet("border: 1px solid black;")
            self.movieImageLabel.setAlignment(QtCore.Qt.AlignCenter)
            font = QtGui.QFont()
            font.setPointSize(20)
            self.movieImageLabel.setFont(font)
            self.movieImageLabel.setText(shortenedFileName)
            self.pushButton_2.setEnabled(True)
            self.video = fileName

    def getShortenedFilename(self, filename):
        temp = ""
        i = len(filename) - 1
        while i > 0:
            if (filename[i] == '/' or filename[i] == '\\'):
                return temp
            temp = filename[i] + temp
            i -= 1

        return temp

    def setupUi(self, selectVideo):
        selectVideo.setObjectName("selectVideo")
        selectVideo.resize(508, 584)
        self.label = QtWidgets.QLabel(selectVideo)
        self.label.setGeometry(QtCore.QRect(90, 40, 331, 61))
        font = QtGui.QFont()
        font.setPointSize(24)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(selectVideo)
        self.pushButton.setGeometry(QtCore.QRect(140, 160, 201, 41))
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.getVideo)
        self.pushButton_2 = QtWidgets.QPushButton(selectVideo)
        self.pushButton_2.setGeometry(QtCore.QRect(140, 490, 201, 41))
        self.pushButton_2.setCheckable(False)
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_2.clicked.connect(self.openFtoAWindow)
        self.pushButton_2.setEnabled(False)
        self.movieImageLabel = QtWidgets.QLabel(selectVideo)
        self.movieImageLabel.setGeometry(QtCore.QRect(160, 240, 211, 201))
        self.movieImageLabel.setText("")
        self.movieImageLabel.setPixmap(QtGui.QPixmap("../camera.jpg"))
        self.movieImageLabel.setObjectName("movieImageLabel")

        self.video = QVideoWidget()
        self.video.resize(300, 300)
        self.video.move(0, 0)
        self.player = QMediaPlayer()
        self.player.setVideoOutput(self.video)

        self.retranslateUi(selectVideo)
        QtCore.QMetaObject.connectSlotsByName(selectVideo)
        self.widget = selectVideo

    def retranslateUi(self, selectVideo):
        _translate = QtCore.QCoreApplication.translate
        selectVideo.setWindowTitle(_translate("selectVideo", "Form"))
        self.label.setText(_translate("selectVideo", "Select a video"))
        self.pushButton.setText(_translate("selectVideo", "Select"))
        self.pushButton_2.setText(_translate("selectVideo", "Continue"))