![](/img/trans.png)
[英]How can I make a single Button play music, pause music and unpause music in Python using tkinter and pygame?
[英]Can I pass a list to PyGame Music?
贏得10 / 64bit / 3.5:
我想將一個變量中的.mp3列表( mp3Fin )傳遞給pygame.mixer.music.load() 。 有沒有辦法做到這一點? 當我分別加載時,PyGame確實可以工作。 在過去的幾周里,我一直只是在學習編程/ python,並且是stackoverflow的新手,所以如果遺漏任何內容,請對不起。
最后編輯這是應該正確格式化或縮進的最新代碼。 它仍然出現錯誤,但錯誤已更改為與“ Rwops”相關的內容。 只發現了一些有關Rwops的鏈接。 將刪除先前的代碼,因為我認為它們不再有用。
碼:
if catChow == cat1[0]:
print("Welcome to SoCha's music player.")
def get_files(directories):
mp3Pre = []
for root, directories, files in os.walk(directories):
for filename in files:
#Joins the two strings in order to form the full filepath.
filepath = os.path.join(root, filename)
mp3Pre.append(filepath) #Adds to the mp3PreParse variable above.
return mp3Pre
mp3Post = get_files("C:\\Users\\SoCha\\Music")
pygame.mixer.init()
pygame.mixer.music.load([s for s in mp3Post if s.endswith(".mp3")])
pygame.mixer.music.play()
Rwops錯誤:
Welcome to SoCha's music player.
Traceback (most recent call last):
File "SoChaOS.2.0.py", line 38, in <module>
pygame.mixer.music.load([s for s in mp3Post if s.endswith(".mp3")])
pygame.error: Couldn't read from RWops
***Repl Closed***
這是我對此原始帖子所做的最后修改。
mp3fin
是一個字符串。 為什么要索引它? 當您調用split()
它返回一個要打印的數組,然后將其丟棄。
在最后一行pygame.mixer.music.load(mp3Fin[1])
您要拼接字符串並采用第二個字符,即“:”。
您可能應該只調用pygame.mixer.music.load(mp3Fin)
我想從變量(mp3Fin)中將.mp3列表傳遞給pygame.mixer.music.load()。
mp3Fin
不是一個列表。 mp3Post是在目錄中找到的文件列表。 for循環迭代時,每個文件都在mp3Fin
中。 嘗試:
for mp3Fin in mp3Post:
if mp3Fin.endswith(".mp3"):
pygame.mixer.init()
pygame.mixer.music.load(mp3Fin)
您可以嘗試使用以下方法傳遞列表以load
購買:
mp3Post = get_files("C:\\Users\\SoCha\\Music")
pygame.mixer.init()
pygame.mixer.music.load([s for s in mp3Post if s.endswith(".mp3")])
請記住, mp3Fin.split()
不會就位修改mp3Fin
- mp3Fin
保持字符串!
因此,當您到達第41 mp3Fin[1]
, mp3Fin[1]
將字符放在mp3Fin
位置1 mp3Fin
。 這就是錯誤中的“:”來自C:/...
。
嘗試直接發送字符串
pygame.mixer.music.load(mp3Fin)
必須小心使用這些功能!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.