Нет звука из Pygame.(Windows 10) - PullRequest
2 голосов
/ 21 апреля 2019

Нет звука от 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 голосов
/ 22 апреля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...