所以我试图将midi文件转换为ogg,但仍然无法正常工作...希望你们中的一些人可以帮助我吗?这是我的代码:
showTextScreen('Tetromino')
while True: # game loop
if random.randint(0, 1) == 0:
pygame.mixer.music.load('tetrisb.mid')
else:
pygame.mixer.music.load('tetrisc.mid')
pygame.mixer.music.play(-1, 0,0)
runGame()
pygame.mixer.music.stop()
showTextScreen('Game Over')
它给出了无法打开tetrisb.mid的错误我尝试重命名它,但仍然说同样的话...如果我能解决这个问题,我可能会解决其他文件
这里是错误:
Traceback (most recent call last):
File "H:\Programmering\Python\TETRIS!.py", line 487, in <module>
main()
File "H:\Programmering\Python\TETRIS!.py", line 166, in main
pygame.mixer.music.load('tetrisc.mid')
pygame.error: Couldn't open 'tetrisc.mid'
我正在使用Windows和python 3.8,我不介意即时通讯使用midi或ogg ...我将midi文件更改为ogg,希望它可以解决问题,但事实并非如此。我的文件是ogg atm
似乎您需要提供正确的Midi文件路径。 This question关于如何检查文件是否存在也可能会有所帮助。
如果文件格式不受支持或不存在,则来自pygame.mixer.music.load
的错误消息将有所不同:
>>> pygame.mixer.music.load("nonexistent.file")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pygame.error: Couldn't open 'nonexistent.file'
>>> pygame.mixer.music.load(r"c:\tmp\empty.file")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pygame.error: Couldn't read from RWops
>>> pygame.mixer.music.load(r"c:\tmp\robots.txt")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pygame.error: Module format not recognized
>>> pygame.mixer.music.load(r"C:\Windows\media\flourish.mid")
>>> pygame.mixer.music.play(-1, 0)
>>> pygame.mixer.music.stop()
注意,当指定文件路径时,\
是转义字符,其处理方式有所不同。因此,您可以改用\\
,或在字符串的开头,在引号之前放置r
,如上所示。