import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QFileDialog, QLabel,QInputDialog, QMessageBox
from PyQt5.QtGui import QIcon
from PyQt5.QtGui import QPixmap
from PyQt5 import QtGui
import pygame
import time
class PIE(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
global text
text = 0
global btn1
global filemenu
global filemenu2
global loadfile
global loadfile2
self.setWindowTitle('Music player')
self.setWindowIcon(QIcon('356749.png'))
self.setGeometry(550, 200, 749, 704)
self.lbl = QLabel(self)
self.lbl.resize(749, 704)
pixmap = QPixmap('메모리2.jpg')
self.lbl.setPixmap(QPixmap(pixmap))
self.label1 = QLabel('재생시간', self)
self.label1.setFont(QtGui.QFont("굴림",15))
self.label1.move(300, 30)
self.label2 = QLabel(':', self)
self.label2.setFont(QtGui.QFont("굴림",15))
self.label2.move(410, 30)
self.label2 = QLabel(str(text) + '초', self)
self.label2.setFont(QtGui.QFont("굴림",15))
self.label2.move(430, 30)
menubar = self.menuBar()
filemenu = menubar.addMenu("파일")
filemenu2 = menubar.addMenu("재생시간")
loadfile = QAction('파일 가져오기', self)
loadfile2 = QAction('재생시간', self)
loadfile.triggered.connect(self.add_open)
loadfile2.triggered.connect(self.speed)
filemenu.addAction(loadfile)
filemenu2.addAction(loadfile2)
self.show()
def initUI2(self):
self.setWindowTitle('Music player')
self.setWindowIcon(QIcon('356749.png'))
self.setGeometry(550, 200, 749, 704)
self.show()
def speed(self):
global text
text, ok = QInputDialog.getText(self, '재생시간', '재생시간(소수점 둘째자리까지):')
if ok:
self.label2.setText(text + '초')
def add_open(self):
global fileopen
fileopen = ''
fileopen = QFileDialog.getOpenFileName(self, '음악파일 선택', './')
if fileopen[0] == '':
self.initUI2()
QMessageBox.information(self, "에러", "음악파일을 선택해주세요.")
else:
self.music()
def music(self):
try:
pygame.mixer.init()
pygame.mixer.music.load(str(fileopen[0]))
pygame.mixer.music.play()
begin = time.time()
clock = pygame.time.Clock()
print(text)
if str(text) == str(0):
pygame.mixer.music.pause()
QMessageBox.information(self, "에러", "재생시간을 설정하세요.")
self.initUI2()
while pygame.mixer.music.get_busy():
b = round(time.time(), 2) - begin
if round(b, 2) == float(text):
pygame.mixer.music.pause()
except:
QMessageBox.information(self, "에러", "음악파일을 선택해주세요.")
self.initUI2()
self.initUI2()
def stop(self):
pygame.mixer.init()
if pygame.mixer.music.get_busy():
pygame.mixer.music.pause()
else:
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = PIE()
sys.exit(app.exec_())