PyQt5简易本地视频播放器

本文介绍如何利用PyQt5创建一个简单的本地视频播放器,具备播放、暂停、音量调节、全屏切换等功能。通过QMediaPlayer组件实现,并能从文件夹加载视频和音频。播放器依赖LAVFilters解码器。
摘要由CSDN通过智能技术生成

PyQt5视频播放器**
用到了QMediaPlayer
此播放器主要功能是播放本地视频音频,具有调节音量作用,搜索列表内容作用以及看全屏能力
实现了暂停与播放在同一按键

1.自定义的widget。myvideowidget.py**

from PyQt5.QtMultimediaWidgets import QVideoWidget
from PyQt5.QtCore import *
class myVideoWidget(QVideoWidget):
    doubleClickedItem = pyqtSignal(str)  # 创建双击信号
    def __init__(self,parent=None):
        super(QVideoWidget,self).__init__(parent)
    def mouseDoubleClickEvent(self,QMouseEvent):     #双击事件
        self.doubleClickedItem.emit("double clicked")

2.将做的QtDesiger MainWindow.ui编译生成Ui_MainWindow.py并将上层自定义的widge导入到Ui_MainWindow.py中

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'd:\python project\视频播放器\MainWindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(741, 542)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setGeometry(QtCore.QRect(-1, -1, 661, 461))
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于Python中的PyQt5,您可以使用QMediaPlayer类来创建一个简单的视频播放器。以下是一个基本示例: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QFileDialog, QLabel, QSlider from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent from PyQt5.QtCore import Qt class VideoPlayer(QWidget): def __init__(self): super().__init__() self.setWindowTitle("Video Player") self.setGeometry(100, 100, 800, 600) self.layout = QVBoxLayout() self.setLayout(self.layout) self.media_player = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.video_widget = QLabel() self.layout.addWidget(self.video_widget) self.slider = QSlider(Qt.Horizontal) self.slider.setRange(0, 0) self.slider.sliderMoved.connect(self.set_position) self.layout.addWidget(self.slider) self.open_button = QPushButton("Open Video") self.open_button.clicked.connect(self.open_video) self.layout.addWidget(self.open_button) self.media_player.setVideoOutput(self.video_widget) def open_video(self): file_dialog = QFileDialog() file_path, _ = file_dialog.getOpenFileName(self, "Open Video") if file_path: media_content = QMediaContent(file_path) self.media_player.setMedia(media_content) self.media_player.play() self.slider.setRange(0, self.media_player.duration() / 1000) def set_position(self, position): self.media_player.setPosition(position * 1000) if __name__ == "__main__": app = QApplication(sys.argv) player = VideoPlayer() player.show() sys.exit(app.exec_()) ``` 这个例子创建了一个简单的视频播放器窗口,可以打开视频文件并播放。它使用了QMediaPlayer类来处理媒体播放,QLabel用于显示视频内容,以及QSlider用于控制视频播放进度。 注意:在运行代码之前,确保已经安装了PyQt5库和PyQt5的多媒体模块。 希望对您有帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值