Autor
|
Tema: [AYUDA][PYTHON][PyAudio]Como pausar pyaudio (y poder usar la consola mientras) (Leído 8,155 veces)
|
Noxware
Desconectado
Mensajes: 195
|
hola, lo que sucede es que me pidieron algo para un loco proyecto en el que quieres reproducir musica desde un .bat... se me habia ocurrido usar pyaudio (no lo manejo pero copio los ejemplos y los adapto) y sys.argv para que desde un .bat se ejecute un comando con los argumentos para leer un archivo wav... pero tengo varios problemas:
primero que nada, no puedo ejecutar ningun comando hasta que no termine la cancion (que deberia estar de fondo)
segundo no se como pausar la musica por lo que tengo que esperar a que esta termine
... no se si hay otro problema pero por ahora son esos
|
|
|
En línea
|
"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...
PD: Si no tengo faltas de ortografía es porque use el autocorrector."
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
¿y el código qué tenés hasta ahora?
|
|
|
En línea
|
|
|
|
Noxware
Desconectado
Mensajes: 195
|
ninguno xD pero e hecho algunas pruebas, por lo que ya puedo llamar mi programa desde un bat para que reproduzca un archivo especifico... el codigo que estoy utilizando lo saque de http://people.csail.mit.edu/hubert/pyaudio/y es este: import pyaudio import wave import sys
CHUNK = 1024
if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1)
wf = wave.open(sys.argv[1], 'rb')
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True)
data = wf.readframes(CHUNK)
while data != '': stream.write(data) data = wf.readframes(CHUNK)
stream.stop_stream() stream.close()
p.terminate() pero tengo muchas dudas sobre pyaudio... como se pausa??? hay alguna forma de reproduzca y siga ejecutando los comandos dentro de .bat sin interrumpirlo?
|
|
|
En línea
|
"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...
PD: Si no tengo faltas de ortografía es porque use el autocorrector."
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
no sé nada de .bat, pero si querés reproducir un sonido de una forma fácil en pocas líneas usaría: code\\ import winsound winsound.PlaySound("archivo.wav", winsound.SND_ALIAS) code\\
ahora bien, esto te crea el tema de seguir usando la consola simultaneamente, bueno para eso usaría un thread (hilo)
Sino en vez de usar la librería pyaudio usaría la de pygame que me parece brinda muchas más posibilidades.
|
|
|
En línea
|
|
|
|
Noxware
Desconectado
Mensajes: 195
|
gracias, te la debo
|
|
|
En línea
|
"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...
PD: Si no tengo faltas de ortografía es porque use el autocorrector."
|
|
|
Noxware
Desconectado
Mensajes: 195
|
una pregunta mas... como se pausa winsound?
|
|
|
En línea
|
"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...
PD: Si no tengo faltas de ortografía es porque use el autocorrector."
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
¿te refieres a que al apretar una tecla se detenga el sonido antes de terminar?
|
|
|
En línea
|
|
|
|
Noxware
Desconectado
Mensajes: 195
|
algo asi... pero no al pulsar la tecla, en realidad no tengo metodo todavia... pero me gustaria saber como pausarlo
|
|
|
En línea
|
"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...
PD: Si no tengo faltas de ortografía es porque use el autocorrector."
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
ah! entonces no podrás con winsound, no tiene muchas opciones, y menos pausar!, para eso uso pygame, pero debes agregar la librería de acuerdo a la versión de python. Te recomiendo que busques reproducir sonidos con pygame, verás que es fácil y te permite usar wav y mp3 por ejemplo, además de pausar.
|
|
|
En línea
|
|
|
|
Noxware
Desconectado
Mensajes: 195
|
me quedo con pyaudio, que ya encontre la opcion detener pero tengo otra duda... yo soy nuevo en python (hace poco que inicie) pero lo que es mas, soy nuevo en los lenguajes orientados a objetos y necesito saber como utilizar cosas que estan en otra clase... este es el codigo: http://paste.ubuntu.com/7389077pero como dije, soy nuevo en los lenguajes tipo POO y no se como usar: stream.stop_stream() stream.close()
p.terminate()
que es para detener el sonido de la otra clase...
|
|
|
En línea
|
"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...
PD: Si no tengo faltas de ortografía es porque use el autocorrector."
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Modificar los headers con php para poder pausar la descarga
PHP
|
gm-vl
|
0
|
1,559
|
6 Marzo 2008, 17:34 pm
por gm-vl
|
|
|
¿Como insertar ascii en consola python?
Scripting
|
@ron
|
2
|
4,886
|
14 Diciembre 2009, 22:24 pm
por @ron
|
|
|
Como poder usar 2 redes a la vez.
Redes
|
xtu
|
2
|
2,408
|
21 Noviembre 2011, 16:00 pm
por tremolero
|
|
|
Como usar las cookies II (para poder combinar con CSS)
Desarrollo Web
|
z3nth10n
|
4
|
2,500
|
6 Febrero 2013, 21:31 pm
por EFEX
|
|
|
Cómo usar tus mandos de consola en PC
Noticias
|
wolfbcn
|
0
|
1,338
|
10 Marzo 2014, 18:36 pm
por wolfbcn
|
|