64

Is it possible to increase the number of steps in the volume control? I'd like a finer grained control over the volume level. I have a Galaxy Nexus.

Note: I don't want to boost the volume just change the number of levels so I can find a sweet spot when listening to music.

2
  • There is also the (easy) option of using an external volume control, like a Koss VC20
    – derobert
    Commented Jun 14, 2013 at 15:46
  • 1
    In the situation where the lowest level is already too high, a practical workaround is to use an equalizer app and attenuate all frequencies equally.
    – Stefan
    Commented Aug 25, 2023 at 22:18

6 Answers 6

21

Many people have this problem with Android. You can see it has been reported in Android's bug tracking system. The number of levels is controlled by a setting that's compiled into the Android system image.

Use a different ROM

It's possible that a could increase the number of levels, but I don't know which, if any, custom ROMs do this. This bug report in 's tracker suggests they don't plan to add that feature, for fear it may cause compatibility problems with some apps.

Use a different app (easy)

Some media apps have their own volume control, on top of that provided by Android. I believe Poweramp is one such (but I don't use it myself). If there's one particular app you need more control of, such as a music app, you might want to replace it with one that has this feature.

Edit your phone's OS (advanced)

If you're not worried about the risk of breaking some (badly-written) apps, and your device is ed, then you can follow these instructions to edit the Android system image to increase the number of levels. That site gives step-by-step instructions, including installing the developer tools you'll need to make system changes; a summary for knowledgeable people is as follows:

  1. Get framework.jar from your device and run baksmali on it.
  2. Edit framework\android\media\AudioService.smali
  3. Search for 0xft 0x0t 0x0t 0x0t to find the table of audio levels.
  4. Replace the first number of each row with the desired number of levels (in hexadecimal).
  5. Run smali to generate a new framework.jar, and then replace the original on the device.
0
22

This should help some folks and it does enable better control, not louder volume.

  1. Go to developer options (enable developer options if you haven't previously done so).

  2. Then, turn on "Disable absolute volume".

  3. You may need to restart your Android device for it to take effect.

The steps now are way more reasonable. In other words, it answers your "Note", as now the volume (at least on my Bluetooth headphones) now has much smaller steps -- it no longer goes from too quiet to too loud in one step.

5
  • How did you get this to work? I tried it just now (using Bluetooth headphones) and noticed no difference at all. Are there any additional steps (e.g. disconnect or forget, then reconnect Bluetooth device; reboot phone; something else)?
    – Kyralessa
    Commented Oct 10, 2019 at 11:26
  • No sorry, for me it just worked after I did that. I think I did have to restart my device first though. But I had to enable absolute volume again as it meant some devices were crazy loud. It would be nice if Google just fixed this / gave you options to handle devices that need more steps! :(
    – Trevor
    Commented Oct 10, 2019 at 22:06
  • 7
    After a restart it seems to have worked. The headphone volume control used to be tied to my phone's media volume; now they're separate. I still only have 15 levels of volume control in Android, but being able to adjust the phone and headphone volume separately gives me much better control of the volume than before. Thanks!
    – Kyralessa
    Commented Oct 11, 2019 at 12:00
  • This should be the official answer (thank you!). Commented Jan 7, 2022 at 5:22
  • For me, it didn't change anything at first, then at the next day, it worked. The indicator if the setting is applied was when the volume display on the phone wouldn't show up anymore when the volume button at the bluetooth speaker was pressed (Android 10). It worked on the next day, so apparently I needed to turn off/turn on the device or reconnect. No Android reboot was done.
    – akraf
    Commented Sep 20, 2022 at 9:54
12

If you're phone is rooted or you have a custom recovery (like TWRP), this is actually much easier. The only thing you'll have to do, is to add the following line to your build.prop file located in /system:

ro.config.media_vol_steps=30

Where 30 represents the number of steps.

This can be done with a root file explorer (like Root Browser) or via VI in the TWRP terminal or via adb.

2
  • 1
    Restart is needed after changing this value
    – akraf
    Commented Jun 26, 2020 at 14:35
  • When trying to edit build.prop in File Explorer Root Browser's internal Text Editor, nothing happens. I get a blank screen with the logo of Text Editor in the middle. Any idea why?
    – veuncent
    Commented Jun 21, 2021 at 14:31
6

I ended up using Fine Volume Control V2 (Trial version) on my Nexus 4 - supports up to 100 volume levels. It's not perfect but should suffice till they hopefully fix what seems like such a simple problem.

Precise Volume (XDA Forums, Play Store) also looks worth a go.

1
  • 3
    Alas, this may have worked back when this answer was written, but it doesn't seem to work anymore. On Android Pie (9), even though the app displays changes of 1% volume, the actual volume jumps in a way that suggests it's still hardware-locked to the idiotic 15 levels of Android volume.
    – Kyralessa
    Commented Oct 10, 2019 at 11:38
3

The Samsung SoundAssistant is your huckleberry. Free app. Provides system-wide fine control over volume, with adjustable increments and per-application settings.

1
  • Note that it is only compatible with devices with Samsung Experience version 8.5 or later.
    – Andrew T.
    Commented Apr 8, 2019 at 14:51
3

I had initially posted this as an answer to this question: How to increase/decrease volume in smaller increments/decrements?, unfortunately this method won't work officially with Nougat (due to some missing requirements)

The workaround:

As expected, such a modification, will require root or some kind of zip flashing proceedure to install Xposed framework.

Kuba Kalamarz created an Xposed module called VolumeSteps+ which allows one to adjust the amount of steps for every system volume function.

The good thing I noticed about this module is it binds to settings system (i.e you don’t have to open the module UI, instead you can control via the volume button)

Prerequisites

Features

  • Change the number of volume steps for the alarm, music, notification, ringer, system and in-call streams.

  • Ability to change it to somewhere between 5 and 50 steps

  • Use the music volume as default for the Volume Panel when pressing the volume buttons.

Instructions

  1. Download VolumeSteps+ and install

enter image description here

  1. Activate the module in Xposed Settings, and reboot the device to effect changes.

  2. Open VolumeSteps+ in the app drawer

  3. Adjust your volume steps:

    • Each volume category has its own menu entry. Select the one you want to adjust, then use the slider to fine-tune the volume steps, press OK when done.

enter image description hereenter image description here

  • Find the increment that suits your needs.

    1. Reboot (important) your device and the new volume steps will be available, even when pressing the volume button. Viola!

Disclaimer (I am not associated with this application, however I use it so I wrote the post to share my experience with other end users)

Nb: I tested this workaround myself and it does exactly as described

Special thanks to

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .