es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Necesito ayuda para reproducir sonido en Replit(Pygame)

Estoy haciendo un juego en Pygame, y he visto tutoriales sobre cómo usar Pygame para sonido, pero por alguna razón no importa lo que haga, no suena. Estoy usando Replit y también he intentado usar la biblioteca Replit, pero también tuve problemas con eso. Me preguntaba si estaba escribiendo algo incorrecto o si es solo Replit o qué es. Además, si tienes algún consejo sobre cómo hacer bucles y cómo reproducir la música en momentos específicos, sería genial. El código a continuación es solo un pequeño código para tratar de descubrir cómo hacer menús, y iba a hacer que la música se reproduzca cuando selecciono un color. Acabo de intentar quitar

pygame.init()

pero cuando lo hago, muchas cosas simplemente dejan de funcionar, como las fuentes, y también dice que el mezclador no está inicializado.

import pygame
import random
import time

pygame.init()

font = pygame.font.SysFont(“arial”, 15, True)

compwin = pygame.display.set_mode((512,512))

pygame.display.set_caption(“attack”)

clock = pygame.time.Clock()
music = pygame.mixer.music.load(“space music.wav”)
pygame.mixer.music.play(-1)

x1 = 128
y1 = 256
x2 = 256
y2 = 256
x3 = 384
y3 = 256
x4 = 251
y4 = 251
def picked():
while run:
pygame.time.delay(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run == False
if white.colliderect(red):
compwin.fill((255,0,0))
if white.colliderect(green):
compwin.fill((0,255,0))
if white.colliderect(blue):
compwin.fill((0,0,255))

pygame.display.update()

run = True

while run:

pygame.time.delay(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

keys = pygame.key.get_pressed()
if keys[pygame.K_1]:
x4 = x1 – 5
y4 = y1 – 5

elif keys[pygame.K_2]:
x4 = x2 – 5
y4 = y2 – 5
elif keys[pygame.K_3]:
x4 = x3 – 5
y4 = y3 – 5
compwin.fill((0,0,0))

white = pygame.draw.rect(compwin,(255,255,255), (x4,y4,42,42) )
blue = pygame.draw.rect(compwin,(0,0,255), (x2,y2,32,32) )
green = pygame.draw.rect(compwin,(0,255,0), (x3,y3,32,32) )
red = pygame.draw.rect(compwin,(255,0,0), (x1,y1,32,32) )

keys = pygame.key.get_pressed()
if keys[pygame.K_RETURN]:
picked()

pygame.display.update()

pygame.quit()

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando cargar y reproducir música utilizando Pygame, pero no te está funcionando. Un problema podría estar relacionado con la ubicación del archivo de audio. Asegúrate de que el archivo de audio “space music.wav” esté en el mismo directorio que tu código.

    Si aún tienes problemas con Pygame mixer, otra opción podría ser usar otra biblioteca de audio como playsound o simpleaudio. Puedes instalar fácilmente estas bibliotecas usando pip.

    Para hacer un loop del audio, puedes usar la función play() con el parámetro loop configurado en True, así:

    pygame.mixer.music.play(-1) # pasa -1 para hacer loop indefinidamente
    

    Para reproducir música en un momento específico, puedes usar la función pygame.time.Clock() para crear un objeto Clock y luego configurar la tasa de ticks para controlar el temporizador. Por ejemplo, si quieres reproducir música cada 5 segundos, puedes agregar el siguiente código dentro de tu bucle principal while:

    clock.tick(5) # establece la tasa de ticks a 5 fps
    pygame.mixer.music.play() # reproduce la música
    

    Finalmente, es importante tener en cuenta que Pygame mixer tiene algunas limitaciones cuando se utiliza en ciertas plataformas o con ciertos archivos de audio. Si continúa teniendo problemas con Pygame mixer, es posible que desees probar algunas de las bibliotecas de audio alternativas mencionadas anteriormente o considerar el uso de una plataforma diferente para el desarrollo de tu juego.

Comments are closed.