Python功能制作之简单的音乐播放器

这篇具有很好参考价值的文章主要介绍了Python功能制作之简单的音乐播放器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需要导入的库:

pip install PyQt5

源码:

import os
from PyQt5.QtCore import Qt, QUrl
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QSlider, QListWidget, QVBoxLayout, QWidget, QPushButton

class MusicPlayer(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Music Player")
        self.setWindowIcon(QIcon("icon.png"))
        self.resize(800, 600)

        self.current_song = None
        self.playing = False

        self.song_list_view = QListWidget()
        self.song_list_view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)

        self.current_song_label = QLabel()
        self.current_song_label.setAlignment(Qt.AlignCenter)
        self.current_song_label.setPixmap(QPixmap("default.jpg"))

        self.progress_slider = QSlider(Qt.Horizontal)
        self.progress_slider.setEnabled(False)

        self.play_button = QPushButton()
        self.play_button.setIcon(QIcon("play.png"))
        self.play_button.clicked.connect(self.play_or_pause)

        layout = QVBoxLayout()
        layout.addWidget(self.song_list_view)
        layout.addWidget(self.current_song_label)
        layout.addWidget(self.progress_slider)
        layout.addWidget(self.play_button)

        widget = QWidget()
        widget.setLayout(layout)
        self.setCentralWidget(widget)

        self.player = QMediaPlayer()
        self.player.stateChanged.connect(self.update_playback_state)

        self.load_song_list()

    def load_song_list(self):
        song_list = os.listdir("video")
        self.song_list_view.clear()
        self.song_list_view.addItems(song_list)
        self.song_list_view.itemDoubleClicked.connect(self.play_song)

    def play_song(self, item):
        song_name = item.text()
        if self.current_song:
            self.player.stop()
            self.current_song = None
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("video/{}".format(song_name))))
        self.current_song = song_name
        self.player.play()
        self.playing = True
        self.current_song_label.setPixmap(QPixmap("video/{}.jpg".format(song_name.split(".")[0])))
        self.setWindowTitle("Music Player - {}".format(song_name.split(".")[0]))
        self.play_button.setIcon(QIcon("pause.png"))  # 更新播放按钮的图标为暂停图标

    def stop_song(self):
        self.player.stop()
        self.current_song = None
        self.playing = False
        self.current_song_label.setPixmap(QPixmap("default.jpg"))
        self.setWindowTitle("Music Player")
        self.play_button.setIcon(QIcon("play.png"))  # 更新播放按钮的图标为播放图标

    def keyPressEvent(self, event):
        if event.key() == Qt.Key_Space:
            if self.current_song:
                if self.playing:
                    self.player.pause()
                    self.playing = False
                    self.play_button.setIcon(QIcon("play.png"))  # 更新播放按钮的图标为播放图标
                else:
                    self.player.play()
                    self.playing = True
                    self.play_button.setIcon(QIcon("pause.png"))  # 更新播放按钮的图标为暂停图标

    def play_or_pause(self):
        if self.current_song:
            if self.playing:
                self.player.pause()
                self.playing = False
                self.play_button.setIcon(QIcon("play.png"))  # 更新播放按钮的图标为播放图标
            else:
                self.player.play()
                self.playing = True
                self.play_button.setIcon(QIcon("pause.png"))  # 更新播放按钮的图标为暂停图标

    def update_playback_state(self, state):
        if state == QMediaPlayer.PlayingState:
            self.playing = True
            self.setWindowTitle("Music Player - Playing")
        elif state == QMediaPlayer.PausedState:
            self.playing = False
            self.setWindowTitle("Music Player - Paused")
        elif state == QMediaPlayer.StoppedState:
            self.playing = False
            self.setWindowTitle("Music Player")

    def closeEvent(self, event):
        self.player.stop()
        event.accept()

if __name__ == "__main__":
    app = QApplication([])
    player = MusicPlayer()
    player.show()
    app.exec()

效果:

双击列表歌曲即播放。

按住下面的暂停和播放【需要图标】【空格也可以】

Python功能制作之简单的音乐播放器,Python功能制作,python,开发语言,qt5,音频,pycharm

 文章来源地址https://www.toymoban.com/news/detail-666095.html

到了这里,关于Python功能制作之简单的音乐播放器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用Python制作你的专属音乐播放器(此刻浪漫只属于你哦*´▽`*)

    昨天是博主的一位朋友生日,除了送上大大的红包,知道他喜欢听音乐,特意用代码给他写了一个 专属音乐播放器 ,今天把这个代码也开源送给所有粉丝哦。 我们常用的音乐播放器,比如酷狗,QQ音乐等里面的页面款式都是官方设定好的,使用者无法根据自己的需求更改,

    2024年01月15日
    浏览(48)
  • Python轻松实现音乐播放器

    来个新玩意就是教大家如何用python来制作一个音乐播放器 希望对大家有所帮助哈哈 你们也可以尝试自己做做 先给你们展示展示最简单的,只需要九行代码 知识点和所需模块 python基础知识 requests库 time pygame tkinter 线程 环境 windows pycharm 2021.2 python 3.8 ok,直接说上完整代码 !

    2024年02月11日
    浏览(54)
  • 完整实例项目:使用python自制音乐播放器~

    今天使用python的pygame等模块制作了一个简单的音乐播放器,实现了很多好玩的功能,在这里和大家一起分享!这是笔者的第二篇博客,也是正式的完成一个小项目,希望获得大家的支持~ 暂停、继续播放、调整声音大小、上一曲下一曲调整、无限制追加音乐(但需要下载音乐

    2024年02月11日
    浏览(41)
  • Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

    1.样例 2.分析 1.播放器界面 2.功能 2.1播放器界面 button:添加/播放/暂停/下一首/上一首 Scale:音量条 Label 2.2功能 2.2.1添加音乐,选择文件夹,显示文件夹里.Mp3文件 2.2.2播放音乐,开始播放第一首音乐,按钮由\\\"播放\\\"变为\\\"暂停\\\",点击\\\"暂停\\\",变为\\\"播放\\\",播放显示Playing… 2.2.3下一首,点击

    2024年02月04日
    浏览(48)
  • 基于Arduino Uno开发板制作音乐播放器

    1.Arduino开发板 Arduino Uno 是一款基于 Microchip ATmega328P 微控制器的开源微控制器板,由 Arduino.cc 开发,最初于 2010 年发布。该板配备了一组数字和模拟输入/输出 (I/O) 引脚,可以连接到各种扩展板(屏蔽)和其他电路。 该板具有 14 个数字 I/O 引脚(6 个能够进行 PWM 输出)、6 个

    2024年02月16日
    浏览(47)
  • 使用Python打造属于你的ikun音乐播放器,简直不要太好用

    首先声明,我不是小黑子,我不是小黑子! 作为一个ikun,时刻都在想着我们家姐姐! 这不上次用Python做了一个ikun飞机大战,今天再给大家整活一手,Python tkinter开发一个专属ikun音乐播放器,这样就能时刻看到姐姐了。 咱们来看看效果     代码实现 今天要做的就是上面的简

    2024年02月12日
    浏览(50)
  • Kotlin实现简单的音乐播放器

    关于音乐播放器,我真的是接触比较多,听歌作为我第一大爱好,之前也用Java设计过音乐播放器,感兴趣的同学可以阅读:Android Studio如何实现音乐播放器(简单易上手)和 Android Studio实现音乐播放器2.0 理论知识 掌握Kotlin面向对象的软件开发方面的基础知识。 巩固前期Act

    2024年02月10日
    浏览(38)
  • 用Python制作一个相册播放器(附源码)

    大家好,我是小F。 对于相册播放器,大家应该都不陌生(用于浏览多张图片的一个应用)。 当然还有视频、音乐播放器,同样是用来播放多个视频、音乐文件的。 在Win10系统下,用【 照片 】这个应用打开一张图片,就可以浏览该图片所在文件夹中其它图片了。 从上面的图中

    2024年02月04日
    浏览(38)
  • Django实现简单的音乐播放器 1

    使用django框架开发一个简单的音乐播放器。 效果: 目录 环境准备 安装django 创建项目 创建应用 注册应用 配置数据库 设置数据库配置 设置pymysql库引用 创建数据库 创建数据表 生成表迁移文件 执行表迁移 配置时区 配置语言 配置子应用路由 在player应用目录下创建urls.py文件

    2024年02月12日
    浏览(37)
  • Django实现简单的音乐播放器 2

     在《Django实现简单的音乐播放器 1》前期准备的基础上开始开发。  效果: 目录 项目视图 创建视图方法 路由加载视图 加载模板 创建首页html文件 加载静态资源文件 加载静态文件 使用方法 启动服务器 加载数据表 创建表模型 生成表迁移 执行创建表 插入表数据 播放歌曲列

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包