Home » Android » android – How to change the volume using adb shell service call audio

android – How to change the volume using adb shell service call audio

Posted by: admin June 15, 2020 Leave a comment

Questions:

I am trying to change the volume on my android device using

service call audio 9 i32 50

to set the volume to 50%. Additionally, when I do:

service call audio 16

I was able to see that the hex value is 32. However, I don’t see any changes on the device. The volume has not been changed.

On the other side, when I change the volume on the device by pushing the volume-up button, I don’t read any changes when I do service call audio 16.

I want to change the volume by setting a direct value without using input keyevent KEY_VOLUME_UP (or DOWN).

Any help?

Thanks!

How to&Answers:

Thank you for the quick response, but I found the solution, which is by using

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

Where 7 is the seventh function in “interface IAudioService” list: setStreamVolume(int streamType, int index, int flags, String callingPackage), 3 is speaker, 0 is the volume level and 1 is a flag.
The second number (3) represents the following options:
1: phone
3: speaker
4: alarm
6: Bluetooth

Note:
I was running as root when I tried the solution posted in my question but it didn’t work.

Answer:

For speaker – to change media volume, to set it to 0

adb shell service call audio 3 i32 3 i32 0 i32