sonidos reproducir poner musica libreria leer hacer grabar como archivo abrir python cross-platform audio

poner - reproducir audio en python



¿Qué es una forma de plataforma cruzada para reproducir un archivo de sonido en Python? (5)

Puedes usar wxPython

sound = wx.Sound(''sound.wav'') sound.Play(wx.SOUND_SYNC)

o

sound.Play(wx.SOUND_ASYNC)

Aquí hay un ejemplo de la demostración de wxPython.

Intenté reproducir un archivo .wav usando pyaudio. Funciona muy bien en Windows, pero no funciona en Ubuntu cuando otro dispositivo está usando sonido.

El error es "IOError: [Error no dispositivo de salida no válido (no dispositivo de salida predeterminado)] -9996

¿Hay otra biblioteca que pueda tratar de usar? ¿Otro método?



¿Has mirado pymedia? Parece tan fácil como esto reproducir un archivo WAV:

import time, wave, pymedia.audio.sound as sound f= wave.open(''YOUR FILE NAME'', ''rb'') sampleRate= f.getframerate() channels= f.getnchannels() format= sound.AFMT_S16_LE snd= sound.Output(sampleRate, channels, format) s= f.readframes(300000) snd.play(s) while snd.isPlaying(): time.sleep(0.05)

Ref: http://pymedia.org/tut/play_wav.html

Por supuesto, puedes echar un vistazo a la wiki de Python en Audio ( http://wiki.python.org/moin/Audio/ ) para otras bibliotecas como https://docs.python.org/library/wave.html o de nuevo en la wiki de Python bajo Game Libraries ( http://wiki.python.org/moin/PythonGameLibraries ) que lo dirigirá a enlaces a OpenAL o Pygame que tiene módulos de sonido.

Y finalmente, aunque no conozco las limitaciones de pyaudio, su mensaje de error suena más como que la biblioteca no puede encontrar el dispositivo de salida predeterminado más de lo que el dispositivo está siendo utilizado por otro proceso. Tal vez eche un vistazo a qué dispositivo de salida devuelve get_default_output_device_info de pyaudio y compárelo con cualquiera que sea su configuración predeterminada en Ubuntu.


Puedes probar Simpleaudio :

> pip install simpleaudio

Entonces:

import simpleaudio as sa wave_obj = sa.WaveObject.from_wave_file("path/to/file.wav") play_obj = wave_obj.play() play_obj.wait_done()


Encontré playsound para ser el más simple.

from playsound import playsound synchronus = False playsound(r"C:/Windows/Media/chimes.wav", synchronus)