Qt声子自动播放视频

2024-05-15 21:05:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在为Windows7平台下的信息亭开发简单的应用程序。在

这是我第二个使用Python3.4+qt设计器+pyqt构建接口和代码的项目。在

在这个项目中,我想使用phonon视频播放器(安装了K-lite编解码器)来播放所有的视频,它应该是一个跨平台的应用程序(将部署到rpi3中)。在

到目前为止,我有一些障碍,仍然不能配置如何解决它,即使谷歌到处搜索。以下是一些问题,我正在寻找解决办法

  • 主窗口包含tabwidget、Home、Menu和Preferences。在“主页”选项卡下,我确实插入了声子视频播放器,以便在检测动作时自动播放介绍视频。如果没有检测到鼠标移动,视频应该保持循环。如果检测到鼠标移动,则应切换到菜单选项卡进行进一步操作。我怎么才能聪明地做到呢?MainWindow TabWidget
  • 在菜单选项卡下,有一个按钮可以显示信息视频。现在,当用户在全屏模式下单击时,我设法播放视频,但不知道如果用户想退出,如何退出全屏并停止后端播放器。tab_Menu

以下为参考规范

class MainWindow(QtGui.QMainWindow, Ui_mainWindow):       
    def __init__(self, parent = None):
        super(MainWindow, self).__init__()
        QtGui.QMainWindow.__init__(self)
        Ui_mainWindow.__init__(self)
        QtGui.QWidget.__init__(self, parent)
        self.media = Phonon.MediaObject(self)
        self.setupUi(self)
        self.toolButton_A.clicked.connect(self.on_click)
        self.toolButton_B.clicked.connect(self.on_click)
        self.toolButton_C.clicked.connect(self.on_click)
        #self.uploadButton_A.clicked.connect(self.file_save)
        self.pushButton_corp.clicked.connect(self.playVideo_corp)
        self.pushButton_product.clicked.connect (self.playVideo_product)
        self.pushButton_fab.clicked.connect(self.playVideo_fab)
        self.pushButton_Start.clicked.connect(self.playVideo_intro)
        self.window2 = None


    def on_click(self):
        filename = QFileDialog.getOpenFileName(self,"Open File","",'All Files (*)')
        if filename:
            print(filename)
            buttonreply = QMessageBox.question(self,'Message Box', 'Are you confirm?',QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
            if buttonreply == QMessageBox.Yes:
                print ('Yes clicked.')
            else:
                print ('No clicked.')


    def videoPlayer_home1(self):

        vp = Phonon.VideoPlayer()
        media = Phonon.MediaSource('C:\\Users\\mohd_faizal4\\Desktop\\RPI Kiosk\\start-logo-new2-12s.mp4')
        vp.load(media)
        vp.play()
        vp.show()

    def playVideo_intro(self):

        vp = Phonon.VideoPlayer()
        vp.showFullScreen()
        media = Phonon.MediaSource('C:\\Users\\mohd_faizal4\\Desktop\\RPI Kiosk\\start-logo-new2-12s.mp4')
        vp.load(media)
        vp.play()
        vp.show()
        #size = self.vp.size()
        #self.vp.resize(size)
        sys.stdout()

    def playVideo_fab(self):

        vp = Phonon.VideoPlayer()
        vp.showFullScreen()
        media = Phonon.MediaSource('C:\\Users\\mohd_faizal4\\Desktop\\RPI Kiosk\\MyFabFaces-5.mp4')
        vp.load(media)
        vp.play()
        vp.show()
        sys.stdout()

    def playVideo_corp(self):
        vp = Phonon.VideoPlayer()
        vp.showFullScreen()
        media = Phonon.MediaSource('C:\\Users\\mohd_faizal4\\Desktop\\RPI Kiosk\\Intro-2017-01.mp4')
        vp.load(media)
        vp.play()
        vp.show()
        sys.stdout()

    def playVideo_product(self):

        vp = Phonon.VideoPlayer()
        vp.showFullScreen()
        media = Phonon.MediaSource('C:\\Users\\mohd_faizal4\\Desktop\\RPI Kiosk\\End-Applications-2017-01.mp4')
        vp.load(media)
        vp.play()
        vp.show()
        sys.stdout()

    # Switch to Menu tab once detect mouse event
    def menu_tab(self):
        print('tab changed to Menu!')
        self.tabWidget.setCurrentWidget(self.tab_menu)


if __name__ == '__main__':
   app = QtGui.QApplication(sys.argv)
   Window = MainWindow()
   Window.show()
   sys.exit(app.exec_())
   sys.stdout()

下面是Ui主窗口的代码

^{pr2}$

Tags: self视频initdefshowconnectsysmedia