Из pygame нет аудиовыхода. (Windows 10)

#python #pygame

#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:

Попробуйте удалить 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