无法在Python中播放ogg文件

问题描述 投票:1回答:1

所以我试图将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

python pygame midi ogg
1个回答
0
投票

似乎您需要提供正确的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,如上所示。

© www.soinside.com 2019 - 2024. All rights reserved.