我正在嘗試創建一個小程序,它將讀取我在文本文件中寫入的音符並將其作爲鋼琴音樂播放。pygame.mixer不能播放超過8個音符
我正在使用pygame並使用調音臺播放.aiff
聲音文件。一切正常,但它不會播放超過8個音符。有人對這個有了解嗎?我用不同的文件和筆記進行了嘗試,並且它在第8個音符後總是停止,但它會完整地播放該音符。
下面是一些代碼:
lines = f.readlines()
while lines[x] != '':
line = lines[x]
readingframe = line[b:b+4]
for t in times:
if t in readingframe:
c = line.index(t,b)
note = line[b:c]
sound = mixer.Sound('C:/Python27/piano/' + note +'.aiff')
sound.play()
time.sleep(timeCorrespondence[t])
b = c+1
這是我使用測試(加拿大O)樣本音樂之一:
a4hc5qc5if4hg4qa4qbb4qc5qdb5qg4wz
的「Z」被使用,因爲我設置的閱讀框爲4,一些作品以只有三個字母(abc)的白色鍵結束,其中a是音符,b表示位置,c表示長度。
在您的問題中包含一些代碼可以幫助人們更好地理解問題。 (http://stackoverflow.com/help/how-to-ask) – ifm
好的抱歉。馬上編輯 – Tony
好吧,首先它看起來像你的框架捕獲4個字符('line [b:b + 4]'),而不是像你所描述的那樣3。 – ifm