una - playsound python
Pygame, los sonidos no se reproducen. (13)
Estoy intentando reproducir archivos de sonido (.wav) con pygame pero cuando lo inicio nunca escucho nada.
Este es el código:
import pygame
pygame.init()
pygame.mixer.init()
sounda= pygame.mixer.Sound("desert_rustle.wav")
sounda.play()
También intenté usar canales pero el resultado es el mismo.
5 años de respuesta tardía pero espero poder ayudar a alguien ... :-)
En primer lugar, no necesitas la línea "pygame.init ()". En segundo lugar, haga un bucle y reproduzca el sonido que está dentro, o de lo contrario se iniciará pygame.mixer, y detenga la reproducción de inmediato.
Tengo este código para funcionar bien en mi Raspberry pi con Raspbian OS. Tenga en cuenta que utilicé un bucle while que continúa repitiendo el sonido forver.
import pygame.mixer
pygame.mixer.init()
sounda = pygame.mixer.Sound("desert_rustle.wav")
while True:
sounda.play()
Creo que lo que necesitas es pygame.mixer.music:
import pygame.mixer
from time import sleep
pygame.mixer.init()
pygame.mixer.music.load(open("/windows/media/chimes.wav","rb"))
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
sleep(1)
print "done"
Lo que necesitas hacer es algo como esto:
import pygame
import time
pygame.init()
pygame.mixer.init()
sounda= pygame.mixer.Sound("desert_rustle.wav")
sounda.play()
time.sleep (20)
La razón por la que le dije al programa que durmiera es porque quería una manera de mantenerlo funcionando sin tener que escribir mucho código. Tuve el mismo problema y el sonido no se reproducía porque el programa se cerró inmediatamente después de intentar reproducir la música.
En caso de que desee que el programa haga algo, simplemente escriba todo el código necesario, pero asegúrese de que dure el tiempo suficiente para que el sonido se reproduzca por completo.
Me ha pasado algo así. Tal vez usted tiene el mismo problema? Intenta usar una ruta absoluta:
import pygame
pygame.init()
pygame.mixer.init()
sounda= pygame.mixer.Sound("/absolute_path/desert_rustle.wav")
sounda.play()
Donde, obviamente, se reemplaza abslute_path con su ruta absoluta real;)
buena suerte.
No tenía sonido al tocar el mezclador. Sonido, pero comenzó a funcionar después de crear la ventana , este es un ejemplo mínimo, simplemente cambie su nombre de archivo, ejecute y presione la tecla ARRIBA para reproducir:
WAVFILE = ''tom14.wav''
import pygame
from pygame import *
import sys
mixer.pre_init(frequency=44100, size=-16, channels=2, buffer=4096)
pygame.init()
print pygame.mixer.get_init()
screen=pygame.display.set_mode((400,400),0,32)
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key==K_ESCAPE:
pygame.quit()
sys.exit()
elif event.key==K_UP:
s = pygame.mixer.Sound(WAVFILE)
ch = s.play()
while ch.get_busy():
pygame.time.delay(100)
pygame.display.update()
Para mí (en Windows 7, Python 2.7, PyGame 1.9) tengo que eliminar la llamada pygame.init () para que funcione o si pygame.init () se queda para crear al menos una pantalla en pygame.
Mi ejemplo
import time, sys
from pygame import mixer
# pygame.init()
mixer.init()
sound = mixer.Sound(sys.argv[1])
sound.play()
time.sleep(5)
Sólo inténtalo:
import pygame.mixer
from time import sleep
pygame.mixer.init()
pygame.mixer.music.load(open("/windows/media/chimes.wav","rb"))
print ""
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
sleep(1)
print "done"
Esto debería funcionar. Solo tiene que agregar print ""
y el sonido habrá tenido tiempo de cargarse.
Solo intente volver a guardar su archivo wav para asegurarse de que su información de frecuencia. O puedes grabar un sonido para asegurarte de su frecuencia, bits, tamaño y canales. (Utilizo este método para resolver este problema)
Tu código juega desert_rustle.wav
bastante bien en mi máquina (Mac OSX 10.5, Python 2.6.4, pygame 1.9.1). ¿Qué versiones del sistema operativo y Python y pygame estás usando? ¿Puede escuchar el .wav
Aceptar por otros medios (por ejemplo, open
en un terminal de Mac o start
en una consola de Windows seguido del nombre de archivo / ruta al archivo .wav
) para garantizar que el archivo no esté dañado? Es difícil depurar su problema específico (que no está en el código que proporciona) sin poder reproducirlo y sin tener todos estos detalles cruciales.
Tuve el mismo problema en Windows 7. En mi caso, no estaba ejecutando el código como Administrador. No me preguntes por qué, pero al abrir una línea de comandos como administrador me la arregló.
sounda.play () devuelve un objeto que es necesario para reproducir el sonido. Con él también puedes averiguar si el sonido todavía se está reproduciendo:
channela = sounda.play()
while channela.get_busy():
pygame.time.delay(100)
import pygame
pygame.init()
sound = pygame.mixer.Sound("desert_rustle.wav")
pygame.mixer.Sound.play(sound)
Esto funcionará en python 3
import pygame, time
pygame.mixer.init()
pygame.init()
sounda= pygame.mixer.Sound("beep.wav")
sounda.play()
pygame.init()
va después de mixer.init()
. Funciono para mi