Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

play music using pygame but no sound [duplicate]

import pygame
pygame.mixer.init()
pygame.mixer.music.load("only one.mp3")
pygame.mixer.music.play(0)
while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

When I run the code, there's no sound and the program ends in like a second. Initially I didn't have the while loop until I saw the suggestions in the answers to similar questions. The program does enter the while loop on my friend's windows system, but not on my mac, and it doesn't have any sound either even on my friend's windows system. Does anybody know how to solve it?

like image 288
emilyz Avatar asked Nov 30 '12 17:11

emilyz


3 Answers

Works well on Ubuntu 10.04 and Pygame 1.9.1.

Some things you can try:

  • initialize whole pygame pygame.init()
  • i_4_got's suggestion (create a display) pygame.display.set_mode((200,100))
  • put a pause (tick) between play an get_busy
  • poll events inside the loop pygame.event.get()

Example:

import pygame
pygame.init()
pygame.display.set_mode((200,100))
pygame.mixer.music.load("only one.mp3")
pygame.mixer.music.play(0)

clock = pygame.time.Clock()
clock.tick(10)
while pygame.mixer.music.get_busy():
    pygame.event.poll()
    clock.tick(10)
like image 176
pmoleri Avatar answered Oct 23 '22 13:10

pmoleri


import winsound
winsound.PlaySound(filename [as string with path if necessary], flag [integer z.B. 1 for asynchronous] )

This works fine with Windows 8 and Python 2.7.6 and *.wav files

The different flags you can check if you type winsound. and look for the autofill list.
The flags are like SND_FILENAME or similar.
If you type them into the editor like: *winsound.SND_FILENAME you get the integer to apply in the PLaySound command from above

Have fun

like image 34
DrWienands Avatar answered Oct 23 '22 12:10

DrWienands


Pygame sound not working fix

INFO

Try reinstalling pygame or upgrading it I had version 1.9.1 which I upgraded to 1.9.3 by the following command

pip install pygame --upgrade

Note:


If you install it with easy_install it doesn't work . Not sure but when I tried with easy_install it doesn't work


The code is the same as yours but i just replaced it with my music file to check it.
You can see it in the image :

In this image

.wav files seem to work well

I checked it with .mp3 files and found that it does'nt work. You can convert .mp3 to .wav from : Converter

Or use PyMedia
If you do not want to convert it using any website.
You can also convert it with pydub.

You can download pydub from this

link

Or type this command in the command line:

pip install pydub
like image 28
Anonymous Avatar answered Oct 23 '22 13:10

Anonymous