pygame.mixer.Sound只播放弹出噪音并退出。为什么?

2024-06-26 14:06:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图通过pygame使用Python来播放声音,但我听到的只是一个弹出的噪音,然后程序就退出了。音轨的长度至少有20秒长,但我的程序几乎在弹出后立即退出

我尝试过pygame以外的其他解决方案,我也听到有人提出这些解决方案。只是不知道为什么它只是弹出和退出,它似乎是有关我的机器(Mac)

import pygame
pygame.init()
pygame.mixer.init()
sound = pygame.mixer.Sound("SampleAudio_0.4mb.wav")
sound.play()
while pygame.mixer.get_busy():
    pygame.time.delay(1000000)

Tags: import程序机器声音initmac解决方案pygame
1条回答
网友
1楼 · 发布于 2024-06-26 14:06:19

我下载了这个wav文件:http://www.anzwad.com/dods/sound/ambient/thunder2.wav

我跑了

import pygame
pygame.init()
pygame.mixer.init()
sound = pygame.mixer.Sound("thunder2.wav")
sound.play()
print(pygame.mixer.get_busy())
while pygame.mixer.get_busy():
    print(pygame.mixer.get_busy())
    pygame.time.delay(1000)
print(pygame.mixer.get_busy())

上面写着:

pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
1
1
1
1
1
1
1
1
1
1
1
0

这对你有用吗? 对我来说,1(1的意思是get_busy返回true)是在播放声音文件的过程中打印出来的,然后,当声音完成并且延迟结束时,程序就关闭了

这就是你想要的功能吗

注意我的python版本是3.7.1

如果这段python代码在您的机器上没有相同的功能,我们就可以找出问题所在

如果您使用的声音文件是公开的,并且您发布了链接,我也可以用该文件测试我的程序。

相关问题 更多 >