Partage
  • Partager sur Facebook
  • Partager sur Twitter

impossible d'importer un son sur pygame

can't pickle sounds objects

    16 mars 2020 à 16:27:32

    Bonjour à tous et à toutes,

    J'écris ici car j'ai un petit problème ...

    J'ai installé python 3.7 (la version de décembre) et anaconda3 sur mon ordinateur en 64 bits. J'ai chargé le module pygame sur l'invite d'anaconda3 (pip install pygame), et tout a eu l'air de fonctionner correctement. J'ai entré ces lignes de code dans l'environnement spyder : 

    (# -*- coding: utf-8 -*-)

    import pygame 

    pygame.init()

    son= pygame.mixer.Sound('son1.wav')

    son.play()

    Le programme tourne normalement sans message d'erreur, mais le son n'est pas joué. Quand je vais dans l'explorateur d'objet et que je double clique sur la variable son, le message suivant s'affiche :

    "Spyder n'a pas pu récupérer la valeur de cette variable de la console. Le message d'erreur était : can't pickle sound objects"

    Je ne comprends pas trop où est l'erreur. Peut etre que c'est au moment où j'ai téléchargé les dossiers ? (mauvaise case cochée ?) Je précise que ces lignes fonctionnaient parfaitement sur les ordinateurs de ma fac, auxquels je n'ai plus accès puisque les universités ont fermé.

    Si vous avez une idée, je vous aurez ma reconnaissance éternelle ! C'est pour un devoir à rendre. Merci beaucoup !!

    -
    Edité par ChloéN1 16 mars 2020 à 17:10:17

    • Partager sur Facebook
    • Partager sur Twitter
      16 mars 2020 à 16:38:06

      Bonjour,

      Il manque

      pygame.mixer.init()

       Aussi vu ton exemple il sagit de faire son.play() et non pas sonbis.play()

      édit: Je m'aperçois que tu as édité ton message. Donc ma dernière phase n'est plus d'apropos..

      Sinon vérifie aussi que tu es sur le répertoire de ton son wav ou présise en le chemin.. Si tu as un doute sur ton wav, écoute le par un autre moyen (genre vlc)

      -
      Edité par __fabien 16 mars 2020 à 16:58:44

      • Partager sur Facebook
      • Partager sur Twitter
      • J'aime les bananes, le python, le gnu, le pingouin.
        • Vive le libre !
        16 mars 2020 à 17:01:17

        merci beaucoup d'avoir pris le temps de répondre ! malheureusement j'ai déjà essayé ces solutions sans succès, y compris le pygame.mixer.init() …

        J'ai aussi remarqué que dans mon explorateur de variables, quand je clique sur "exclure les types non supportés", mes variables sons disparaissent, et je ne peux pas télécharger de fichier son "manuellement" grâce à l'explorateur de variables (ni .mp3, ni .wav ni rien). En fait, les sons ne sont tout simplement pas reconnus. Je ne sais pas comment régler ça ni d'où ça vient

        -
        Edité par ChloéN1 16 mars 2020 à 17:52:23

        • Partager sur Facebook
        • Partager sur Twitter
          16 mars 2020 à 20:10:51

          Si j'essaye ton code, je n'entends rien non plus. Essaye ceci :

          import pygame
          
          pygame.init()
          
          son=pygame.mixer.Sound("son1.wav")
          
          
          while True:
              son.play()

          (chez moi, j'entends le son et je l'entends en boucle)

          • Partager sur Facebook
          • Partager sur Twitter
            16 mars 2020 à 20:21:05

            Ceci marche très bien:

            import pygame
            pygame.init()
            pygame.mixer.init()
            son = pygame.mixer.Sound(chemin_du_son1.wav')
            son.play()
            



            • Partager sur Facebook
            • Partager sur Twitter
            • J'aime les bananes, le python, le gnu, le pingouin.
              • Vive le libre !
              16 mars 2020 à 21:12:57

              FabienFabien14 a écrit:

              Ceci marche très bien:

              import pygame
              pygame.init()
              pygame.mixer.init()
              son = pygame.mixer.Sound(chemin_du_son1.wav')
              son.play()
              



              Pas chez moi en tous cas (aucun son n'est audible). En revanche, ce code modifié émet un son :

              import pygame
              import time
              pygame.init()
              pygame.mixer.init()
              son = pygame.mixer.Sound('son1.wav')
              son.play()
              time.sleep(1)




              • Partager sur Facebook
              • Partager sur Twitter
                16 mars 2020 à 21:27:59

                Merci beaucoup pour vos réponses. Malheureusement aucune ne fonctionne dans mon cas, je n'ai toujours aucun son, et le message d'erreur suivant s'affiche quand je clique sur la variable son de l'explorateur de variable :  

                "Spyder n'a pas pu récupérer la valeur de cette variable de la console. Le message d'erreur était : can't pickle sound objects". 

                Je ne sais pas comment interpréter ce message


                • Partager sur Facebook
                • Partager sur Twitter
                  16 mars 2020 à 21:33:25

                  étrange chez moi, aucun souci. Je vois vraiment pas pourquoi il faudrait un sleep, d'autant plus s'il n'y a pas d'autres commandes qui suivent...

                  Je ne connais pas particulièrement pygame, mais j'ai déjà utilisé plusieurs fois pygame.mixer comme explicité.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  • J'aime les bananes, le python, le gnu, le pingouin.
                    • Vive le libre !
                    17 mars 2020 à 0:02:37

                    ChloéN1 a écrit:

                    Merci beaucoup pour vos réponses. Malheureusement aucune ne fonctionne dans mon cas, je n'ai toujours aucun son, et le message d'erreur suivant s'affiche quand je clique sur la variable son de l'explorateur de variable :  

                    "Spyder n'a pas pu récupérer la valeur de cette variable de la console. Le message d'erreur était : can't pickle sound objects". 

                    Je ne sais pas comment interpréter ce message


                    Je ne sais pas ce que c'est que l'explorateur de variables et je ne vois pas pourquoi Spyder intervient ici, on dirait que tu as un problème d'installation. T'as essayé le code dans une feuille Jupyter Notebook (puisque tu as Anaconda) ou encore avec IDLE ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 avril 2020 à 14:23:04

                      Hello ! 

                      J'ai eu le même problème que toi et la solution est simple. Dans ton code remplace ton pygame.init() par pygame.mixer.init(). Ceci donne :

                      import pygame as pg
                      pg.mixer.init()
                      son = pg.mixer.Sound("ProjetFinal/gameover.wav")
                      son.play()

                      Bonne journée

                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 avril 2020 à 13:23:22

                        Un million de merci !!!!
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 avril 2020 à 15:37:32

                          lol je t'avais donné la réponse dès mon premier message...
                          • Partager sur Facebook
                          • Partager sur Twitter
                          • J'aime les bananes, le python, le gnu, le pingouin.
                            • Vive le libre !
                            11 avril 2020 à 17:49:02

                            mais en fait c'est super bizarre, ça a marché là cet après midi, et ça ne marche de nouveau plus maintenant ! Désolée Fabien, j'avais bien testé ta solution et ça ne marchait pas à ce moment là. C'est un mystère … ou alors je m'y suis très mal pris

                            -
                            Edité par ChloéN1 11 avril 2020 à 18:23:47

                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 avril 2020 à 19:35:03

                              Assure toi, quand même, d'avoir le volume à fond quand tu essaies ...
                              • Partager sur Facebook
                              • Partager sur Twitter
                              • J'aime les bananes, le python, le gnu, le pingouin.
                                • Vive le libre !
                                12 avril 2020 à 0:34:10

                                … ben quand même ça peut m'arriver d'être étourdie mais pas à ce point :) A mon avis j'ai essayé toutes les solutions en même temps sur le code en me trompant dans les versions tests que j'avais crée exprès … car c'est pour ça que ça ne marchait plus tout à l'heure … 

                                Un million de merci à toi aussi puisque tu m'avais aussi donné la bonne réponse :) 

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 avril 2020 à 9:28:05

                                  yapadequoi.

                                  Et puisque me voilà crédité d'un million de merci, je vais en distribuer autour de moi ;)

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  • J'aime les bananes, le python, le gnu, le pingouin.
                                    • Vive le libre !

                                  impossible d'importer un son sur pygame

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown