@Maxim045

Почему код на Python завершается ошибкой?

У меня есть код, который отображает в списке MP3-файлы, находящиеся в выбранной папке. Я хотел добавить возможность воспроизвести файл, путь к которому прописал в самом коде. Если нажать на кнопку, файл будет проигрываться, но в терминале VS Code начнется спам одного и того же сообщения: "QCoreApplication::exec: The event loop is already running". Если подождать еще немного, выйдет сообщение, что приложение не отвечает, скрин будет ниже. Я пробовал запускать отдельно код, отвечающий за воспроизведение файла, ошибок при этом не возникало. Пожалуйста, подскажите, где мог допустить ошибку
5e0b219c97c62335302231.png
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()
  • Вопрос задан
  • 748 просмотров
Пригласить эксперта
Ответы на вопрос 1
delvin-fil
@delvin-fil
Crazy Linux-admin
Не повторял.
Пишет, что уже запущен. У вас цикл скорее всего неправильно оформлен. Ну или питон не закрылся после предыдущего запуска.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы