Нужно сделать чтобы включалась следующая песня при окончании той,которая проигрывается
Пробую сделать медиа плеер. Сейчас делаю чтобы проигрывалась музыка бесконечно, то есть, при окончании песни, проигрывалась следующая мелодия. Делал чтобы проигрывалась бесконечно, но не включается меню, просто играют песни, делал через pygame.mixer.music.queue просто проигрывается следующая песня и останавливается.
'''
import os
import time
import pygame
from pygame import mixer
count = 1
volume = 50
input_user = None
dir = (os.path.abspath('music'))
music_files = list(filter(lambda x: x.endswith('.mp3'), os.listdir(dir)))
print(len(music_files))
MUSIC_ENDED = pygame.USEREVENT
pygame.mixer.music.set_endevent(MUSIC_ENDED)
def music_load(music):
try:
pygame.init()
mixer.music.load(f'./music/{music_files[music - 1]}')
mixer.music.play(-1)
# if (len(music_files)) > music:
# pygame.mixer.music.queue(f'./music/{music_files[music]}')
# music += 1
except:
print('Аудиофайл поврежден. Я не могу его воспроизвести')
def music_player():
while True:
count = 1
for i in music_files:
print(f'{count}.{i[:-4]}')
count += 1
music = int(input('Какой трек нужно включить?\n'))
music_load(music)
while (pygame.mixer.music.get_busy()):
# if (len(music_files)) > music:
# pygame.mixer.music.queue(f'./music/{music_files[music]}')
# music += 1
count = 1
input_user = int(input('1.Изменить громкость\n2.Включить другой трек\n3.Сл.трек\n4.Пред.трек\n5.Стоп\n'))
if input_user == 1:
volume = int(input('Введите нужную громкость.(1-100)\n'))
mixer.music.unpause()
mixer.music.set_volume(volume/100)
if input_user == 2:
for i in music_files:
print(f'{count}.{i[:-4]}')
count += 1
music = int(input('Какой трек нужно включить?\n'))
music_load(music)
if input_user == 3:
print(music)
music += 1
music_load(music)
if input_user == 4:
music -= 1
music_load(music)
if input_user == 5:
mixer.music.stop()
music_player()
'''