我查看了本网站上的几个问题以及其他多个资源,发现可以使用pygame播放声音的代码,但是我一直在遇到一些问题。

import pygame
pygame.init()
song = pygame.mixer.Sound('sound.wav')
clock = pygame.time.Clock()
song.play()
while True:
    clock.tick(60)
pygame.quit()

我尝试了两个文件(“sound.wav”和“sound.mp3”)以及单引号和双引号,但仍然无法正常工作。当我尝试文件的路径时,Python崩溃了。我可以更改或添加此代码以使其工作,如果没有,是否还有其他解决方案?

我收到的错误消息说它无法加载文件。

编辑:现在无论我传递给pygame.mixer.Sound(),它都崩溃了,它说Python意外退出。

最佳答案

在pygame中,除非使用os,否则不能使用相对文件路径。

import pygame,os
dir = os.path.dirname(__file__)
pygame.init()
song = pygame.mixer.Sound(os.path.join(dir,'./sound.wav'))
clock = pygame.time.Clock()
song.play()
while True:
    clock.tick(60)
pygame.quit()

关于macos - 为什么在Mac上使用Python和Pygame播放声音的这段代码无法加载文件并崩溃?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45269664/

10-15 23:00