私は非常にPythonには新しく、ちょうどエクササイズのようにmp3プレイリストを再生するには素晴らしいライブラリ(audiotools)を使用しようとしていました。なぜこのAttributeError?
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')
:
この
は、トラックリストを再生するためのクラスです(私は (*)を「現在のトラックが終了したプレイヤーによって呼び出される引数なしでコールバック関数」がある発見したら緩く、 THISに基づきます)そして、私が呼んでいる:
get_track_list
はDIR
PATH
からMP3ファイルのリストを返すメソッドです
tp = Trackplay(get_track_list(PATH))
。
私は(「エラー」のコメントでマークされた行で)得るエラーは次のとおりです。
AttributeError: Trackplay instance has no attribute 'player'
私は何が起こっているかを理解し...しかし、ここにすべてのAttributeError
質問を読んでいない、何かでなければなりません愚かな...
player
私にはちょうどTrackplay
の属性のようです。他の属性、track_index
とtrack_list
は、print str(current_track)
行が現在のトラックを出力するので、OKと思われます。
ありがとうございました。
お使いのOSは? –
RaspbianのRapsberry PiとLinux Mintのラップトップの両方で試しました。 Pythonのバージョンは2.7.12 – dentex