Cómo cambiarlo desde la salida de audio a la entrada de micrófono utilizando PulseAudio?
-
12-10-2019 - |
Pregunta
Estoy trabajando en una aplicación móvil para Maemo / MeeGo y Maemo utiliza PulseAudio. Quiero jugar un mp3 a la persona que llama (y cancelar el micrófono al hacerlo, y no escuchar llamadas, todo debe ser hecho en el fondo), para hacer esto, tengo que redirigir la salida de audio a partir de un cierto (si no es posible, toda ) aplicación, fingir como una entrada y realice aplicación Teléfono usarlo.
En mi PC Ubuntu, lo hice con pavucontrol. He creado un fregadero NULL, entonces:
Audio Output (from Amarok) --> to NULL Output
Skype Input <-- NULL Output
Skype Output --> NULL
Y funcionó, Amarok tocaba la música y fue transmitiendo a Skype, sin jugar a mí y no he oído nada acerca de todos los procesos. El problema es; a) Maemo no tiene pavucontrol. b) incluso si lo hiciera (o si tengo que embalar la) No sería nada bueno, ya que es una aplicación única en GUI y tengo que hacer todas estas cosas en el fondo, sin ninguna intervención del usuario. (Media: CLI o API)
Cuando se le preguntó acerca de esto en Freenode #pulseaudio y un tipo dijo útiles "Puede más o menos puede hacer a través pactl o pacmd, los comandos que desee mover son disipador-entrada y movimiento de código-producto, pero hay que saber dispositivo y los índices de flujo ". Así que parece que pavucontrol es sólo una interfaz gráfica de usuario, y pactl pacmd son el verdadero negocio, y lo más importante, son aplicaciones de la CLI.
Estoy muy agradecido con él, pero no sé nada acerca de "pactl", "pacmd", "mover-disipador de entrada" o "índices dispositivo / Stream", así que necesito una página manual muy simplificada, o una fuente de aplicación similar, un comando de una sola línea (dos? página entera de comandos ?, dame ellos! ^^) o alguien con la suficiente paciencia para explicar estas cosas a mí.
Solución
Los manuales de pactl
y pacmd
están disponibles si le dan una búsqueda. Los encontré aquí:
creo que está interesado en el siguiente extracto del manual de pactl
:
movimiento del disipador de entrada de ID SINK: Mover el flujo de reproducción especificado (identificado por su índice numérico) al disipador especificada (identificado por su nombre simbólico o índice numérico).
debería ser capaz de utilizar pactl list sink-inputs
, pactl list source-outputs
, pactl list sinks
y pactl list sources
combinado con un poco de grep
y / o sed
o algo de esa naturaleza para determinar mediante programación la corriente y el fregadero correcta.