2017-07-23 1 views
0

J'ai regardé plusieurs questions sur ce site et plusieurs autres ressources et trouvé ce code qui peut être utilisé pour jouer un son avec pygame, mais j'ai eu quelques problèmes avec lui.Pourquoi ce code pour jouer un son en utilisant Python et Pygame sur mac ne charge pas le fichier et plantage?

import pygame 
pygame.init() 
song = pygame.mixer.Sound('sound.wav') 
clock = pygame.time.Clock() 
song.play() 
while True: 
    clock.tick(60) 
pygame.quit() 

J'ai essayé deux fichiers («Sound.wav » et « son.mp3 »), ainsi que des citations simples et doubles, et il ne fonctionne toujours pas. Lorsque je tente le chemin des fichiers , plante Python. y at-il quelque chose que je peux changer ou ajouter à ce code pour le faire fonctionner, et sinon, est-il une autre solution?

l'erreur que je reçois dit qu'il ne peut pas charger le fichier.

EDIT: Maintenant, il se bloque peu importe ce que je passe à pygame.mixer.Sound(), en disant que Python se ferme de façon inattendue

+1

Vous devriez probablement essayer de réinstaller pygame. Pourquoi ne pouvez-vous pas installer pip correctement? Quelle erreur avez-vous? – filaton

+0

J'ai réinstallé pygame et installé Pip. Apparemment, il y avait un problème avec mes outils de ligne de commande, mais avec une certaine suppression/réinstallation des applications et un redémarrage, les choses ont commencé à fonctionner à nouveau. Cependant, les sons ne fonctionnent toujours pas. – TrumpetDude

Répondre

1

Dans pygame, vous ne pouvez pas utiliser les chemins de fichiers relatifs sauf si vous utilisez os.

import pygame,os 
dir = os.path.dirname(__file__) 
pygame.init() 
song = pygame.mixer.Sound(os.path.join(dir,'./sound.wav')) 
clock = pygame.time.Clock() 
song.play() 
while True: 
    clock.tick(60) 
pygame.quit() 
+0

Quand je fais cela, il est dit "Python se ferme de façon inattendue" – TrumpetDude

+0

@TrumpetDude A cherché et essayé, essayez de convertir votre fichier en .ogg et en utilisant celui-ci. A travaillé pour moi. – Jojo