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()
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')
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"))