赢10/64bit/3.5:
我想把.mp3的列表从一个变量(mp3Fin)传递到游戏机。混音器。音乐.load()。有办法吗?PyGame在我单独加载时确实可以工作。我最近几周才开始学习编程/python,对stackoverflow还是个新手,如果我遗漏了什么,很抱歉。在
上次编辑这里是最新的代码,格式正确/缩进。它仍然收到一个错误,但错误已更改为与“Rwops”相关的内容。在bing上只找到了一些关于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错误:
^{pr2}$这是我对这篇原创文章的最后一次编辑。在
请记住,
mp3Fin.split()
不会就地修改mp3Fin
,而mp3Fin
将保留一个字符串!在所以当您到达第41行时,
mp3Fin[1]
得到了mp3Fin
位置1的字符。这就是错误中“:”的来源,C:/...
。在试着直接发送字符串
一定要小心那些功能!在
mp3fin
是一个字符串。你为什么要索引它?当您调用split()
时,它将返回一个数组,您可以打印该数组,然后将其丢弃。在在最后一行
pygame.mixer.music.load(mp3Fin[1])
您将拼接字符串并获取第二个字符,即“:”。在你应该打电话给
pygame.mixer.music.load(mp3Fin)
mp3Fin
不是一个列表。mp3Post是目录中找到的文件的列表。当for循环迭代时,每个单独的文件都在mp3Fin
中。尝试:您可以尝试使用以下命令将列表传递给
^{pr2}$load
buy:相关问题 更多 >
编程相关推荐