Hi,
I just cannot understand why the below code is not looping.
It plays a song and then stops and exits.
TIA
Solved by moving lines around ;)
I just cannot understand why the below code is not looping.
It plays a song and then stops and exits.
TIA
#!/usr/bin/python3
import random, os
import pygame
#music files path
path = "/media/usb/"
#get music files
songs = os.listdir(path)
#filter mp3 files
songs = [fi for fi in songs if fi.endswith(".mp3") ]
pygame.init()
pygame.mixer.init()
while True:
try:
#pygame.mixer.music.set_volume(0.50)
filename = random.choice(songs)
print('playing now {}'.format(filename))
pygame.mixer.music.load(path + filename)
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
except ValueError:
print('Excemption: {}', format(ValueError))
#if __name__ == '__main__':EDIT:Solved by moving lines around ;)
#!/usr/bin/python3
import random, os
import pygame
#music files path
path = "/media/usb/"
#get music files
songs = os.listdir(path)
#filter mp3 files
songs = [fi for fi in songs if fi.endswith(".mp3") ]
pygame.init()
pygame.mixer.init()
#print(pygame.mixer.get_init())
def play_songs():
try:
#pygame.mixer.music.set_volume(0.50)
filename = random.choice(songs)
#print('playing now {}'.format(filename))
pygame.mixer.music.load(path + filename)
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
except ValueError:
print('Excemption: {}', format(ValueError))
if __name__ == '__main__':
while True:
play_songs()
