Sto provando a registrare e convertire uno stream con python utilizzando arecord.Sottoprocesso processo background.Popen with Pipe
Nella shell questo è un comando più o meno come:
arecord -B 5000 -f dat | lame -m j -q 5 -V 2 - test.mp3 &
In Python ho provato questo con subprocess.Popen:
reccmd = ["arecord", "-B", "5000", "-f", "dat"]
mp3cmd = ["lame", "-m", "j", "-q", "5", "-V", "2", "-", "test.mp3"]
p = subprocess.Popen(reccmd, stdout=subprocess.PIPE)
p2 = subprocess.Popen(mp3cmd, stdin=p.stdout)
p2.communicate()
Ma io non so come includere la "&" o qualcosa di simile nel codice per essere in grado di fermare la registrazione con un comando
killall arecord
Grazie mille. Ore sprecate che cercano di trovare una via d'uscita ea volte la risposta è proprio così facile –