I have a HTC One m7 international. It has root access. Android lollipop 5.0.2

The in call volume is too low despite being on max volume.

Which file in the root system should I modify to increase the max volume? What line of code corresponds to this setting?

Thanks vm

  • android version? – Manubhargav Sep 26 '15 at 2:30
  • It is lollipop 5.0.2 – NK2013 Sep 26 '15 at 3:36
  • Turn on adb in phone,connect the phone to system and run this command in system connected adb shell service call audio 7 i32 3 i32 0 i32 1 Source: SO post – Manubhargav Sep 26 '15 at 3:40
  • 1
    Thankyou it seems to have increased the volume... Can you explain a bit what that line of code means and how it works? – NK2013 Sep 26 '15 at 4:41

This approach achieves desired functionality by communicating with Android APIs at AIDL level making use of ADB

Run the command:

adb shell service call audio 7 i32 3 i32 0 i32 1

Here, the service call refers to IAudioService. Click here for more info.

  • 7 is the function named setStreamVolume. It is the 7th in the list of functions in the interface IAudioService. Verify it here. (setStreamVolume takes 3 parameters streamType, index, flag)
  • i32 is to write the integer INT into the send parcel. (Alternatively we can make use of s16 for UTF-16 string)
  • 3 is streamTypevalue. (Value 1 → phone, 3 → speaker, 4 → alarm, 6 → bluetooth)
  • 0 is index value and 1 is flag value

See the source here.

  • 1
    But how can op set that for every call? Or is using it once persistent? – cde Sep 26 '15 at 6:14
  • @cde Changing once is enough, no need to change it before every call – Manubhargav Sep 26 '15 at 11:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.