Пытаю свои силы в Python хочу MP3 плеер забубенить выбор пал на python-vlc
Подсобите решить следующую проблему на PuQt сделал выбор папки с получением списка что в ней и по двойному клику выбирая файл запускается воспроизведение все ок, но вот беда если запустить вторую то первая не останавливается в воспроизведение а играет в фоне, и так сколько не запускаю все играют одновременно



#функция воспроизведения def play(self): sel = self.listWidget.selectedIndexes()[0] files = (sel.data()) self.statusBar.showMessage(files) #тут воспроизводим выбранный файл files из выбранной directory player = vlc.MediaPlayer(directory+"/"+files) player.stop()#остановить преъидущее воспроизведение player.play()
Вот полный код:
import vlc import sys # sys нужен для передачи argv в QApplication import os # Отсюда нам понадобятся методы для отображения содержимого директорий from PyQt5 import QtWidgets import design # Это наш конвертированный файл дизайна class ExampleApp(QtWidgets.QMainWindow, design.Ui_MainWindow): def __init__(self): # Это здесь нужно для доступа к переменным, методам # и т.д. в файле design.py super().__init__() self.setupUi(self) # Это нужно для инициализации нашего дизайна self.btnBrowse.clicked.connect(self.browse_folder) # Выполнить функцию browse_folder # при нажатии кнопки self.listWidget.itemDoubleClicked.connect(self.play) #при двойном клике запустить функцию воспроизведения def browse_folder(self): global directory#объявляем переменную глобальной self.listWidget.clear() # На случай, если в списке уже есть элементы directory = QtWidgets.QFileDialog.getExistingDirectory(self, "Выберите папку") # открыть диалог выбора директории и установить значение переменной # равной пути к выбранной директории if directory: # не продолжать выполнение, если пользователь не выбрал директорию for file_name in os.listdir(directory): # для каждого файла в директории self.listWidget.addItem(file_name) # добавить файл в listWidget #функция воспроизведения def play(self): sel = self.listWidget.selectedIndexes()[0] files = (sel.data()) self.statusBar.showMessage(files) #тут воспроизводим выбранный файл files из выбранной directory player = vlc.MediaPlayer(directory+"/"+files) player.stop()#остановить преъидущее воспроизведение player.play() def main(): app = QtWidgets.QApplication(sys.argv) # Новый экземпляр QApplication window = ExampleApp() # Создаём объект класса ExampleApp window.show() # Показываем окно app.exec_() # и запускаем приложение if __name__ == '__main__': # Если мы запускаем файл напрямую, а не импортируем main() # то запускаем функцию main()