2011-01-17 41 views
14

Estoy trabajando en una aplicación móvil para Maemo/MeeGo y Maemo usa PulseAudio. Quiero reproducir un mp3 para la persona que llama (y cancelar el micrófono cuando lo hago, y no escuchar la persona que llama, todo debe hacerse en el fondo), para hacer esto, tengo que redirigir la salida de audio de un cierto (si no es posible, todo) aplicación, fingir como entrada y hacer que la aplicación del teléfono lo use.¿Cómo redirigir desde la salida de audio a la entrada de micrófono usando PulseAudio?

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 Streaming 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 hizo (o si lo incluyo) No sería bueno ya que es una aplicación de GUI única y tengo que hacer todo esto en segundo plano, sin ninguna intervención del usuario. (media: CLI o API)

Cuando se le preguntó acerca de esto en Freenode #pulseaudio y un tipo servicial dijo: "Se puede hacer prácticamente a través de pactl o pacmd, los comandos que desea son mover-hundir-ingresar y mover-fuente- salida, pero necesita saber los índices del dispositivo y la corriente ". Así que parece que pavucontrol es solo una GUI, pactl y pacmd son el verdadero negocio, y lo más importante, son aplicaciones CLI.

Estoy muy agradecido con él, pero no sé nada sobre "pactl", "pacmd", "mover-hundir-entrada" o "dispositivo/flujo de índices", así que necesito una página de manual muy simplificada, o una fuente de aplicación similar, un comando de una línea (dos? toda la página de comandos ?, ¡simplemente denme! ^^) o alguien con suficiente paciencia para explicarme estas cosas.

Respuesta

1

Los manuales para pactl y pacmd están disponibles si se realiza una búsqueda. Los encontré aquí:

pactl

pacmd (pulse-cli-syntax)

creo que usted está interesado en el siguiente extracto del manual de pactl:

movimiento del disipador-entrada COM + ID: Mueva el flujo de reproducción especificado (identificado por su índice numérico) al receptor especificado (identificado por su nombre simbólico o índice numérico).

usted 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 por el estilo, para determinar mediante programación la corriente y el fregadero correcta.

+0

¡ja! ¿Dónde estabas hace seis años? ¡Gracias! :) –

+0

¿Mejor tarde que nunca? :) – izzy

Cuestiones relacionadas