Detrás de cámaras
Cómo funciona el volumen por app en Android sin root
Por el equipo de llcloud 5 min de lectura
Respuesta rápida
Android ajusta el volumen por tipo de sonido, como multimedia, tono de llamada y alarma, así que todas las apps que reproducen multimedia comparten un solo control. AppVolume da a cada app su propio nivel conectando un efecto de audio a su reproducción y subiendo o bajando su ganancia. Saber qué app está sonando requiere un permiso de desarrollador, que AppVolume obtiene una sola vez con la Depuración inalámbrica y un código de vinculación de seis dígitos, sin root, sin computadora y sin servicio de accesibilidad.
Bajas un juego y el podcast baja con él. Subes las indicaciones del mapa y la música también salta. Cualquiera que reproduzca dos cosas a la vez en Android se topa con esto tarde o temprano. Creamos AppVolume para arreglarlo, y la forma en que funciona dice mucho sobre cómo maneja Android el sonido. Aquí va en palabras sencillas.
¿Por qué Android tiene un solo volumen multimedia?
Android no ajusta el volumen por app. Lo ajusta por tipo de sonido, lo que Android llama un stream. Multimedia es un stream, y los tonos de llamada, las alarmas, las notificaciones y las llamadas tienen cada uno el suyo. Cuando presionas las teclas de volumen mientras suena algo, mueves el stream multimedia, y todas las apps que reproducen música, video, juegos o podcasts lo comparten.
Ese diseño mantiene las cosas simples. Las teclas de volumen siempre hacen algo predecible, y una alarma nunca queda en silencio porque un juego se bajó solo. El precio es que dos apps que reproducen multimedia nunca pueden estar a niveles distintos por sí solas. Nuestra guía para poner un volumen distinto a cada app cuenta qué ofrecen los celulares de fábrica, que en la mayoría es nada.
¿Cómo funcionan las otras apps de volumen por app?
Muchas apps de volumen vigilan qué app está al frente y cambian el único volumen multimedia cuando cambia. Abres el juego y el volumen multimedia baja. Pasas a la app de podcasts y vuelve a subir. Eso puede servir con una app a la vez, pero sigue siendo un solo control. Dos apps sonando juntas, como música debajo de una app de navegación, siempre comparten el nivel.
Algunas de esas apps también necesitan un servicio de accesibilidad, para ver qué app está en pantalla o para captar las teclas de volumen. Es un permiso muy poderoso para un trabajo tan pequeño.
¿Cómo da AppVolume a cada app su propio nivel?
Android tiene un conjunto de efectos de audio, como ecualizadores y procesadores de dinámica, que una app puede conectar a una reproducción, lo que Android llama una sesión de audio. Uno de ellos puede subir o bajar la ganancia del sonido que pasa por él. AppVolume conecta ese efecto a las sesiones de cada app a la que le pones un nivel, y fija su ganancia según tu control deslizante.
Así el cambio ocurre solo en el sonido de esa app, antes de que llegue al altavoz. Un podcast al 80 % y un juego al 20 % suenan de verdad a esos niveles al mismo tiempo. Ese mismo efecto es el que usa Pro para subir una app baja hasta el 200 % y mover su balance a izquierda o derecha.
AppVolume nunca escucha, graba ni envía tu audio. No vigila tu pantalla ni tus teclas de volumen, y no tiene servicio de accesibilidad. Solo sube o baja un nivel.
¿Por qué la configuración usa la Depuración inalámbrica y un código de vinculación?
Para conectar un efecto, AppVolume primero tiene que saber qué sesiones existen y a qué app pertenece cada una. El servicio de audio del sistema guarda un informe de estado que las lista, y Android solo deja que una app lo lea con un permiso pensado para desarrolladores. Una app no puede pedir ese permiso de la manera habitual. Solo el shell del celular, el mismo nivel de acceso que tiene una computadora por un cable de depuración, o root pueden otorgarlo.
La Depuración inalámbrica da ese acceso al shell sin computadora. Durante la configuración la activas, y Android muestra un código de vinculación de seis dígitos. Lo escribes en AppVolume, que se vincula con el celular en el que corre y se otorga a sí misma ese único permiso con un solo comando. Esa es toda la configuración. Después no queda ningún ayudante en ejecución.
El permiso se mantiene tras reinicios y actualizaciones de la app, así que puedes volver a desactivar la Depuración inalámbrica y las Opciones para desarrolladores. Si ya usas Shizuku o tienes un celular con root, AppVolume puede usar eso en su lugar. Usamos una vinculación parecida para otro trabajo en Repel, que describimos en cómo funciona el firewall de Repel sin ocupar tu VPN.
¿Qué pasa detrás del control deslizante?
Un mezclador que toca el sonido de otras apps tiene que ser cuidadoso, porque un error se oye fuerte. Por eso AppVolume sigue algunas reglas:
- Desconocido no es silencio. Si no se puede leer el informe de estado, AppVolume no cambia nada. Leerlo como «no suena nada» quitaría todos los efectos y devolvería todas las apps al volumen máximo de golpe.
- Desaparecer significa desaparecer dos veces. Una sesión tiene que faltar en dos lecturas seguidas antes de que se libere su efecto, para que un corte breve no cause un salto.
- Tus niveles se recuerdan. Configura una app una vez, incluso antes de que suene, y el nivel se aplica cada vez que arranca.
- Un reembolso no deja a nadie fuera. Una app que ya tiene un nivel siempre se puede volver a subir.
¿Cuáles son los límites reales?
El volumen por app mediante efectos de audio funciona con la mayoría de las apps que reproducen sonido, no con todas.
- Algunas apps no se pueden ajustar. Unas pocas reproducen audio por vías a las que Android no deja llegar a ningún efecto, como algunos juegos que usan audio de baja latencia. AppVolume lo intenta varias veces durante un minuto y medio más o menos antes de decidir, y luego te avisa y marca la app, en lugar de dejar un control que no hace nada.
- Puede haber una fracción de segundo a nivel máximo. Cuando una app empieza a reproducir, su sonido puede arrancar antes de que se conecte el efecto.
- Las apps de ecualizador pueden tomar el control. Si usas una, puede quedarse con el control del mismo audio, y las dos pueden estorbarse.
- Los efectos quedan hasta que la app los suelta. Si desinstalas AppVolume mientras una app suena, esa app conserva su nivel hasta que libere su audio. Los ajustes tienen un botón para devolver todas las apps al volumen máximo antes de desinstalar.
- Depende de un informe del sistema. Si una versión futura de Android deja de permitir que las apps lo lean, el mezclador ya no podría ver qué está sonando. AppVolume está hecha para no cambiar nada en ese caso en lugar de adivinar.
¿Qué app de volumen por app te conviene?
Si lo que quieres es sobre todo bajar una app mientras la usas, un cambiador según la app en primer plano puede bastar. Si quieres dos apps sonando a niveles distintos al mismo tiempo, necesitas algo que cambie el sonido propio de cada app. AppVolume vs Precise Volume compara dos enfoques, y quienes tienen Samsung deberían leer AppVolume vs Samsung Sound Assistant, porque Samsung ofrece su propio camino. Elijas lo que elijas, AppVolume no tiene anuncios ni cuenta, por las razones de por qué nuestras apps no tienen anuncios.
Fuentes
Preguntas
¿Por qué Android no tiene volumen por app?
Android agrupa el sonido según para qué sirve, no según qué app lo produce. Multimedia, tonos de llamada, alarmas, notificaciones y llamadas tienen cada uno su volumen, y todas las apps que reproducen multimedia comparten el de multimedia. Eso mantiene simples las teclas de volumen, pero significa que un juego y un podcast suenan siempre al mismo nivel a menos que una app intervenga.
¿Puedo controlar el volumen de cada app sin root?
Sí. AppVolume no necesita root ni computadora. Necesita un permiso que solo pueden dar las herramientas de desarrollo del celular, y te guía para conseguirlo en el mismo celular: activa la Depuración inalámbrica, escribe un código de vinculación de seis dígitos y listo. El permiso se mantiene tras reinicios y actualizaciones, y Shizuku o root también sirven si ya los usas.
¿Por qué AppVolume necesita la Depuración inalámbrica?
Para ver qué app reproduce qué sonido, AppVolume lee un informe de estado del servicio de audio del sistema, y Android solo deja que las apps lo lean con un permiso de desarrollador. Solo el shell del celular puede dar ese permiso. La Depuración inalámbrica es la forma en que el celular le da a AppVolume acceso al shell una sola vez, en el propio celular. Después de la configuración puedes volver a desactivarla.
¿El volumen por app funciona con todas las apps?
Con todas no. Unas pocas apps reproducen el sonido por vías que Android no deja ajustar, como algunos juegos con audio de baja latencia. AppVolume te avisa cuando una app no se puede ajustar en lugar de dejar un control que no hace nada. Además, una app puede sonar una fracción de segundo a su nivel normal antes de que se aplique tu ajuste.