pygame没有音频输出。 (Windows 10)

时间:2019-04-21 18:28:23

标签: python pygame

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()

1 个答案:

答案 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上进行了测试