Cómo agregar más pasos a su control deslizante de volumen [Raíz]

En mi búsqueda para descubrir ajustes interesantes para compartir con la comunidad de desarrolladores, con frecuencia encontré una solicitud en muchos foros diferentes:

"¿Cómo agrego más pasos al control deslizante de volumen?" - Nadie en particular

Mientras buscaba métodos para agregar de manera confiable más granularidad de volumen, descubrí que la mayoría de las aplicaciones en Google Play Store simplemente no funcionan para la mayoría de los dispositivos modernos. Otra solución que encontré involucró el uso del módulo Xposed VolumeSteps +, que desafortunadamente significa que el método está restringido a dispositivos rooteados que soportan Xposed Framework (es decir, no admite Android Nougat). Finalmente, el último método que muchos de ustedes conocen es flashear una ROM personalizada, pero para aquellos de nosotros que no tenemos muchas opciones al respecto (el Huawei Mate 9 carece de amor por el desarrollo en este momento) o desea permanecer con una compilación enraizada, esa opción es difícil de soportar.

Afortunadamente, hay una manera simple de agregar más pasos a su llamada o volumen de medios que no requiere Xposed Framework y también funciona en Android 6.0+ . ¡Lo mejor de todo es que puede permanecer en su configuración rooteada de stock si lo desea! Todo lo que necesita hacer es aprovechar un ajuste simple, pero totalmente no publicado, de build.prop.

Nota: el dispositivo en el que probé esto son dos teléfonos Google Nexus 6 con Android 6.0 Marshmallow y 7.1 Nougat. No tengo forma de probar este ajuste en cada dispositivo con cada variación de software. Este ajuste se deriva de mirar AOSP, pero sin probar otros dispositivos o mirar su fuente, no puedo decir exactamente en qué dispositivos funcionará.


Control de volumen granular con un ajuste Build.Prop

La documentación de código abierto de Android establece exactamente cómo se implementa el servicio de audio del software en AudioService.java. Dentro del código, hay una cierta sección que define cómo se inicializan los niveles de volumen en el arranque.

  // Initialize volume int maxVolume = SystemProperties.getInt(" ro.config.vc_call_vol_steps ", MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL]); if (maxVolume != MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL]) { MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL] = maxVolume; AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL] = (maxVolume * 3) / 4; } maxVolume = SystemProperties.getInt(" ro.config.media_vol_steps ", MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC]); if (maxVolume != MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC]) { MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = maxVolume; AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = (maxVolume * 3) / 4; } 

Los dos términos que escribí en negrita son muy similares a las líneas en el archivo build.prop ubicado en / system, ¿no? Eso es porque lo son, aunque de forma predeterminada no verá estas propiedades dentro del archivo build.prop. Afortunadamente, si define estas propiedades usted mismo, puede establecer manualmente el número de pasos de volumen .

Si está familiarizado con cómo editar y agregar líneas a su build.prop, ¡continúe y empiece a agrietarse! Si no, aquí hay un método simple para comenzar.

Descargue BuildProp Editor de JRummy en Google Play Store y ábralo. Toque el icono de "lápiz" en la esquina superior derecha para que aparezca el modo de edición manual. Desplácese hasta el final y agregue cualquiera de las líneas build.prop mencionadas anteriormente y configúrelo igual al número de pasos de volumen que desea tener. Por ejemplo, ingresar estos dos comandos al final duplicará la cantidad de pasos de volumen de llamadas entrantes y pasos de volumen de medios, respectivamente.

ro.config.vc_call_vol_steps=14

ro.config.media_vol_steps = 30

Una vez que haya ingresado estos comandos, reinicie su teléfono. Si funcionó, ahora debería tener tantos pasos de volumen como especificó en build.prop.

¡Disfruta de este ingenioso ajuste! Háganos saber en los comentarios a continuación si funcionó para su dispositivo y versión de compilación.