У меня есть код, который отображает в списке MP3-файлы, находящиеся в выбранной папке. Я хотел добавить возможность воспроизвести файл, путь к которому прописал в самом коде. Если нажать на кнопку, файл будет проигрываться, но в терминале VS Code начнется спам одного и того же сообщения: "QCoreApplication::exec: The event loop is already running". Если подождать еще немного, выйдет сообщение, что приложение не отвечает, скрин будет ниже. Я пробовал запускать отдельно код, отвечающий за воспроизведение файла, ошибок при этом не возникало. Пожалуйста, подскажите, где мог допустить ошибку
import sys, os, pygame, mutagen.mp3, design
from PyQt5 import QtWidgets
class Browse(QtWidgets.QMainWindow, design.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.ButtonBrowse.clicked.connect(self.browse_folder)
self.ButtonPlay.clicked.connect(self.play_track)
def browse_folder(self):
self.listWidget.clear()
directory = QtWidgets.QFileDialog.getExistingDirectory(self, "Выберите папку")
if directory:
for file_name in os.listdir(directory):
if file_name.endswith(".mp3") | file_name.endswith(".wav"):
self.listWidget.addItem(file_name)
def play_track(self):
song_file = "C:\\Users\\101ap\\Desktop\\Player\\music\\LINKIN PARK\\Meteora\\13. Numb.mp3"
mp3 = mutagen.mp3.MP3(song_file)
pygame.mixer.init(frequency=mp3.info.sample_rate)
pygame.mixer.music.load(song_file)
pygame.mixer.music.play()
input()
def main():
app = QtWidgets.QApplication(sys.argv)
window = Browse()
window.show()
app.exec_()
if __name__ == '__main__':
main()