Reproducción de audio en pausa al usar Skype

Después de actualizar Phonon para activar el ecualizador en Amarok 2.2.1 me di cuenta de que estaba teniendo un problema sumamente extraño: cada vez que abría Skype y éste emitía algún sonido (por ejemplo, el típico aviso de que un contacto se ha conectado), Amarok automáticamente quedaba en pausa. Cuando Skype dejaba de emitir el sonido, Amarok reanudaba la música.

Esta conducta se repetía con otras aplicaciones de KDE que usan Phonon como su motor de reproducción (por ejemplo, el reproductor de video Dragon), pero no con aplicaciones externas (por ejemplo, VLC). Así que parecía evidente que el problema estaba en Phonon.

Afortunadamente existe IRC :-). Así que me conecté al canal #phonon de Freenode y pude conversar directamente con Colin Guthrie, desarrollador de Mandriva que ha estado trabajando en la integración de Phonon y Pulseaudio. Él rápidamente pudo diagnosticar el problema, que tiene relación con una nueva funcionalidad presente en Pulseaudio: la posibilidad de clasificar los sonidos del sistema en categorias. A continuación pongo un resumen de su respuesta:

La versión actual de Skype etiqueta todos sus sonidos con la categoría "phone". Esto es incorrecto, ya que sólo el audio de las llamadas debería ser etiquetado en esta categoría. Los avisos de login/logout etc. deberían ser etiquetados como "event". Esto ya ha sido solucionado en la nueva versión de Skype, pero esa versión aún no ha sido liberada.

Pulseaudio tiene un módulo llamado module-cork-music-on-phone, el que automáticamente detiene la música cuando hay una llamada telefónica (es decir, cuando se inicia un sonido con la categoría "phone"), pero esta funcionalidad está un poco rota en este momento. Así que por ahora recomiendo comentar ese módulo en el archivo /etc/pulse/default.pa.

Así que apliqué la solución temporal: editar el archivo /etc/pulse/default.pa y comentar (agregando un # al inicio) la siguiente línea:

load-module module-cork-music-on-phone

Luego hay que reiniciar Pulseaudio (o simplemente cerrar la sesión y entrar otra vez). Con esto solucioné temporalmente el problema.

Obviamente, la solución definitiva pasa por esperar a que los desarrolladores de Pulseaudio mejoren el módulo module-cork-music-on-phone o que Skype libere una nueva versión. Y ojalá que esto sea pronto, porque la verdad es que la idea de que las aplicaciones de audio puedan reaccionar un poco más inteligentemente a los eventos del sistema es bastante atractiva.

Comentarios

Francisco dijo…
Hola Cristian!
Está re bueno tu blog.
Un saludo.
Hola Pancho, un gusto "verte" por acá :-).

Entradas más populares de este blog

Replicando el funcionamiento de "Antorcha" con herramientas públicamente disponibles

Actualizar información de zona horaria en Java

Una nueva amiga: Ibanez Artcore AFS75T