猫史档案馆


2minRain

2minRain

Lv.1

获赞:0收藏:0浏览:0作品收藏:0
回复帖子评论
上一页1 页 / 共 1下一页

【Python作品分享】daw-vocal【作品秀】 中回复

咱这里有能用的代码 需要的话私聊咱(但是需要先进行一些修改,所以可以参考 但是别直接搬(有一些是为了适配我的应用平台的特殊代码

2024-02-04T17:39:18 点赞:0

【Python作品分享】daw-vocal【作品秀】 中回复

package = "com.pts.music"
import os

from PySide6.QtCore import *  # type: ignore
from PySide6.QtGui import *  # type: ignore
from PySide6.QtWidgets import *  # type: ignore
import sys
from pygame import mixer
from tinytag import TinyTag
mixer.init()
playList = []

nowMusic = 0

class Ui_MainWindow(object):
    playing = False
    def setupUi(self, MainWindow):
        if not MainWindow.objectName():
            MainWindow.setObjectName(u"MainWindow")
        MainWindow.resize(371, 410)
        MainWindow.setWindowFlags(Qt.WindowMinimizeButtonHint)
        MainWindow.setFixedSize(MainWindow.width(), MainWindow.height())
        icon = QIcon()
        icon.addFile(u"./temp/image/Music.png", QSize(), QIcon.Normal, QIcon.On)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QWidget(MainWindow)
        self.centralwidget.setObjectName(u"centralwidget")
        self.label = QLabel(self.centralwidget)
        self.label.setObjectName(u"label")
        self.label.setGeometry(QRect(0, 20, 371, 41))
        font = QFont()
        font.setPointSize(11)
        self.label.setFont(font)
        self.label.setAlignment(Qt.AlignCenter)
        self.label_2 = QLabel(self.centralwidget)
        self.label_2.setObjectName(u"label_2")
        self.label_2.setGeometry(QRect(140, 60, 31, 16))
        self.label_3 = QLabel(self.centralwidget)
        self.label_3.setObjectName(u"label_3")
        self.label_3.setGeometry(QRect(170, 60, 211, 16))
        self.label_4 = QLabel(self.centralwidget)
        self.label_4.setObjectName(u"label_4")
        self.label_4.setGeometry(QRect(140, 80, 31, 16))
        self.label_5 = QLabel(self.centralwidget)
        self.label_5.setObjectName(u"label_5")
        self.label_5.setGeometry(QRect(170, 80, 211, 16))
        self.listWidget = QListWidget(self.centralwidget)
        self.listWidget.setObjectName(u"listWidget")
        self.listWidget.setGeometry(QRect(喵))
        self.pushButton_2 = QPushButton(self.centralwidget)
        self.pushButton_2.setObjectName(u"pushButton_2")
        self.pushButton_2.setGeometry(QRect(150, 140, 75, 24))
        self.pushButton_3 = QPushButton(self.centralwidget)
        self.pushButton_3.setObjectName(u"pushButton_3")
        self.pushButton_3.setGeometry(QRect(60, 140, 75, 24))
        self.pushButton_4 = QPushButton(self.centralwidget)
        self.pushButton_4.setObjectName(u"pushButton_4")
        self.pushButton_4.setGeometry(QRect(230, 140, 75, 24))
        self.label_6 = QLabel(self.centralwidget)
        self.label_6.setObjectName(u"label_6")
        self.label_6.setGeometry(QRect(60, 170, 31, 16))
        self.horizontalSlider = QSlider(self.centralwidget)
        self.horizontalSlider.setObjectName(u"horizontalSlider")
        self.horizontalSlider.setGeometry(QRect(100, 170, 160, 18))
        self.horizontalSlider.setOrientation(Qt.Horizontal)
        self.horizontalSlider.setMinimum(0)
        self.horizontalSlider.setMaximum(10)
        self.horizontalSlider.setValue(10)
        self.pushButton_5 = QPushButton(self.centralwidget)
        self.pushButton_5.setObjectName(u"pushButton_5")
        self.pushButton_5.setGeometry(QRect(80, 190, 75, 24))
        self.pushButton_6 = QPushButton(self.centralwidget)
        self.pushButton_6.setObjectName(u"pushButton_6")
        self.pushButton_6.setGeometry(QRect(160, 190, 75, 24))
        self.pushButton_7 = QPushButton(self.centralwidget)
        self.pushButton_7.setObjectName(u"pushButton_7")
        self.pushButton_7.setGeometry(QRect(290, 0, 75, 24))
        self.label_7 = QLabel(self.centralwidget)
        self.label_7.setObjectName(u"label_7")
        self.label_7.setGeometry(QRect(10, 194, 55, 16))
        font1 = QFont()
        font1.setPointSize(10)
        self.label_7.setFont(font1)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        self.pushButton_7.clicked.connect(MainWindow.close)
        self.pushButton_5.clicked.connect(self.playList)
        self.listWidget.itemClicked.connect(self.play)
        self.pushButton_2.clicked.connect(self.pause)
        self.pushButton_4.clicked.connect(self.nextMusic)
        self.pushButton_3.clicked.connect(self.previous)
        self.horizontalSlider.valueChanged.connect(self.changeVolume)

        QMetaObject.connectSlotsByName(MainWindow)
    # setupUi

    def playList(self):
        self.listWidget.clear()
        global playList, reply
        import easygui as g
        reply = g.diropenbox()
        fileList = os.listdir(reply)
        for i in fileList:
            if ".mp3" in i :
                music = i
                playList.append(music)
        self.listWidget.addItems(playList)


    def play(self, item):
        global nowMusic, playing
        item2 = item.text()
        mixer.music.load(reply + "\\" +item2)
        mixer.music.play(1, 0)
        self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"| |", None))
        nowMusic = int(playList.index(item2))
        playing = True
        tag = TinyTag.get(reply + "\\" + item2)
        self.label.setText(QCoreApplication.translate("MainWindow", tag.title, None))
        self.label_3.setText(QCoreApplication.translate("MainWindow", tag.album, None))
        self.label_5.setText(QCoreApplication.translate("MainWindow", tag.artist, None))

    def pause(self):
        global playing
        if playing:
            mixer.music.pause()
            playing = False
            self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"▶", None))
        elif not playing:
            mixer.music.unpause()
            playing = True
            self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"| |", None))

    def nextMusic(self):
            global nowMusic
            try:
                nextMusic = playList[nowMusic + 1]
                mixer.music.stop()
                mixer.music.load(reply + "\\" + nextMusic)
                mixer.music.play(1, 0)
                tag = TinyTag.get(reply + "\\" + nextMusic)
                self.label.setText(QCoreApplication.translate("MainWindow", tag.title, None))
                self.label_3.setText(QCoreApplication.translate("MainWindow", tag.album, None))
                self.label_5.setText(QCoreApplication.translate("MainWindow", tag.artist, None))
                indexMu = playList.index(nextMusic)
                nowMusic += 1
            except:
                os.system("python.exe ../Application/" + package + "/tip.py")

    def previous(self):
            global nowMusic
            previous = playList[nowMusic - 1]
            mixer.music.stop()
            mixer.music.load(reply + "\\" + previous)
            mixer.music.play(1, 0)
            tag = TinyTag.get(reply + "\\" + previous)
            self.label.setText(QCoreApplication.translate("MainWindow", tag.title, None))
            self.label_3.setText(QCoreApplication.translate("MainWindow", tag.album, None))
            self.label_5.setText(QCoreApplication.translate("MainWindow", tag.artist, None))
            indexMu = playList.index(previous)
            nowMusic -= 1

    def changeVolume(self):
        Volume = self.horizontalSlider.value()
        volume = float(Volume)
        vol = volume / 10
        mixer.music.set_volume(vol)

2024-02-04T17:40:55 点赞:0

【Python作品分享】daw-vocal【作品秀】 中回复

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"PyMusic Player", None))
        self.label.setText(QCoreApplication.translate("MainWindow", u"\u672a\u喵ad\u653e\u97f3\u4e50", None))
        self.label_2.setText(QCoreApplication.translate("MainWindow", u"\u4e13\u8f91\uff1a", None))
        self.label_3.setText(QCoreApplication.translate("MainWindow", u"\u672a\u喵ad\u653e\u97f3\u4e50", None))
        self.label_4.setText(QCoreApplication.translate("MainWindow", u"\u6b4c\u624b\uff1a", None))
        self.label_5.setText(QCoreApplication.translate("MainWindow", u"\u672a\u喵ad\u653e\u97f3\u4e50", None))
        self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"▶", None))
        self.pushButton_3.setText(QCoreApplication.translate("MainWindow", u"<", None))
        self.pushButton_4.setText(QCoreApplication.translate("MainWindow", u">", None))
        self.label_6.setText(QCoreApplication.translate("MainWindow", u"\u97f3\u91cf\uff1a", None))
        self.pushButton_5.setText(QCoreApplication.translate("MainWindow", u"\u9009\u62e9\u6587\u4ef6\u5939", None))
        self.pushButton_6.setText(QCoreApplication.translate("MainWindow", u"\u4e0b\u8f7d\u97f3\u4e50", None))
        self.pushButton_7.setText(QCoreApplication.translate("MainWindow", u"X  \u9000\u51fa", None))
        self.label_7.setText(QCoreApplication.translate("MainWindow", u"\u喵ad\u653e\u5217\u8868", None))
    # retranslateUi

if __name__ == "__main__":
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()

2024-02-04T17:41:16 点赞:0