quiero programar programáticamente el sonido que sale de mi computadora portátil en python. He encontrado PyAudio
y se acercó con el siguiente programa que lleva a cabo la tarea:sonido de salida de grabación en python
import pyaudio, wave, sys
chunk = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = sys.argv[1]
p = pyaudio.PyAudio()
channel_map = (0, 1)
stream_info = pyaudio.PaMacCoreStreamInfo(
flags = pyaudio.PaMacCoreStreamInfo.paMacCorePlayNice,
channel_map = channel_map)
stream = p.open(format = FORMAT,
rate = RATE,
input = True,
input_host_api_specific_stream_info = stream_info,
channels = CHANNELS)
all = []
for i in range(0, RATE/chunk * RECORD_SECONDS):
data = stream.read(chunk)
all.append(data)
stream.close()
p.terminate()
data = ''.join(all)
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(data)
wf.close()
el problema es que tengo que conectar el conector de auriculares a la toma de micrófono. He intentado reemplazar estas líneas:
input = True,
input_host_api_specific_stream_info = stream_info,
con éstos:
output = True,
output_host_api_specific_stream_info = stream_info,
pero luego me sale este error:
Traceback (most recent call last):
File "./test.py", line 25, in
data = stream.read(chunk)
File "/Library/Python/2.5/site-packages/pyaudio.py", line 562, in read
paCanNotReadFromAnOutputOnlyStream)
IOError: [Errno Not input stream] -9975
hay una manera de crear una instancia de la corriente PyAudio de modo que introduce desde la salida de la computadora y no tengo que conectar la toma de auriculares al micrófono? ¿hay una mejor manera de hacerlo? Preferiría quedarme con una aplicación de Python y evitar el cacao.
¿El sonido ya está en su computadora portátil? ¿Qué pasa con "guardar como ..." es Macintosh. –
¿hay alguna manera fácil de guardar los archivos que se reproducen en el reproductor flash en su navegador (supongo que son archivos .flv)? Sé que muchas veces sitios como youtube y vimeo tienen enlaces para descargar el archivo .flv, pero muchas veces no tienen un enlace para hacer esto. – aaronstacy