pygame完全没有声音。我已经尝试了很多代码,但是只有一个代码可以正常工作,但是我不想创建一个新窗口。
有人知道为什么第三种方法是唯一可行的方法吗?
这些是我尝试过的代码。 :
import os
import pygame
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)
pygame.mixer.pre_init(24000, 16, 2, 4096)
pygame.init()
pygame.mixer.init()
person_sound = pygame.mixer.Sound("person.wav")
pygame.mixer.Sound.play(person_sound)
import os
import pygame
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)
pygame.mixer.pre_init(24000, 16, 2, 4096)
pygame.init()
pygame.mixer.init()
person_sound = pygame.mixer.Sound("person.wav")
play = person_sound.play()
while play.get_busy():
pygame.time.delay(100)
这是工作中的人:
WAVFILE = 'person.wav'
import os
import pygame
import sys
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)
pygame.mixer.pre_init(24000, 16, 2, 4096)
pygame.init()
pygame.mixer.init()
screen=pygame.display.set_mode((400,400),0,32)
while True:
s = pygame.mixer.Sound(WAVFILE)
ch = s.play()
while ch.get_busy():
pygame.time.delay(100)
exit()
pygame.display.update()
答案 0 :(得分:0)
尝试从您的代码中删除pygame.init()
。它似乎与pygame.mixer.init()
冲突。
import os
import pygame
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)
pygame.mixer.pre_init(24000, 16, 2, 4096)
# Remove pygame.init()
# pygame.init()
pygame.mixer.init()
person_sound = pygame.mixer.Sound("person.wav")
s = pygame.mixer.Sound.play(person_sound)
# Also make sure to include this to make sure it doesn't quit immediately
while s.get_busy():
pygame.time.delay(100)
在Windows 10,Pygame 1.9.5,Python 3.7.2上进行了测试