Je suis très nouveau sur Python et j'essayais d'utiliser une belle bibliothèque (audiotools) pour jouer une playlist mp3, juste comme un exercice.Pourquoi cette AttributeError?
C'est la classe pour jouer la tracklist (vaguement basé sur THIS, une fois que j'ai découvert il y a une « fonction de rappel sans argument qui est appelé par le joueur lorsque la piste en cours est terminée » (*)):
class Trackplay:
def __init__(self,
track_list,
audio_output=audiotools.player.open_output('ALSA'),
replay_gain=audiotools.player.RG_NO_REPLAYGAIN):
self.track_index = INDEX - 1
self.track_list = track_list
self.player = audiotools.player.Player(
audio_output,
replay_gain,
self.next_track())
def next_track(self):
try:
self.track_index += 1
current_track = self.track_list[self.track_index]
print str(current_track)
audio_file = audiotools.open(current_track)
self.player.open(audio_file) # <---------- error
self.player.play()
except IndexError:
print('playing finished')
Je vous appelle:
tp = Trackplay(get_track_list(PATH))
où get_track_list
est une méthode retournant une liste de fichiers MP3 à partir du répertoire PATH
.
L'erreur que je reçois (à la ligne tracée avec le commentaire « erreur ») est:
AttributeError: Trackplay instance has no attribute 'player'
Je ne comprends pas ce qui se passe ... mais lire toutes les AttributeError
des questions ici, doit être quelque chose stupide ...
player
me semble exactement un attribut de Trackplay
. D'autres attributs, comme track_index
et track_list
semblent OK, puisque la ligne print str(current_track)
imprime la piste actuelle.
Merci pour toute aide.
Quel est votre système d'exploitation? –
Essayé à la fois sur le Rapsberry Pi avec Raspbian et l'ordinateur portable avec Linux Mint. La version Python est 2.7.12 – dentex