通过 adb 设置音量

  • 1. adb 调用系统服务
  • 2. 命令参数
    • 2.1 编号与音量
    • 2.2 操作类型
  • 3. 示例
  • 4. 问题解决
    • 4.1 权限问题
    • 4.2 Android 版本变动
  • 参考链接:

1. adb 调用系统服务

Android 11 中调整音量:

adb shell service call audio 9 i32 <编号> i32 <类型> i32 1

Android 11 中设置音量:

adb shell service call audio 10 i32 <编号> i32 <音量> i32 1

通过service call audio调用系统服务,调用IAudioService.aidl中编号为9的音量调整方法adjustStreamVolume(),或编号为10的音量值设置方法setStreamVolume()。

2. 命令参数

2.1 编号与音量

<编号>可以在AudioSystem.java文件中查看。
通过命令adb shell dumpsys audio可以得到设备的其他音频属性。也可以通过以下命令查看:

adb shell service call audio 16 i32 <编号>   # 查看当前音量
adb shell service call audio 17 i32 <编号>  # 查看最小音量
adb shell service call audio 18 i32 <编号>  # 查看最大音量

记录其范围和默认值可得到如下表格,不同厂商设备的音频范围和默认值可能有所差别:

编号 名称 范围 默认值 功能
0 STREAM_VOICE_CALL 1~11 8 通话
1 STREAM_SYSTEM 0~15 10 铃声
2 STREAM_RING 0~15 10 铃声
3 STREAM_MUSIC 0~150 100 媒体
4 STREAM_ALARM 1~15 12 闹钟
5 STREAM_NOTIFICATION 0~15 10 闹钟
6 STREAM_BLUETOOTH_SCO 1~15 7 通话
7 STREAM_SYSTEM_ENFORCED 0~7 7 铃声
8 STREAM_DTMF 0~15 10 铃声
9 STREAM_TTS 0~15 10 媒体
10 STREAM_ACCESSIBILITY 0~15 10 媒体
11 STREAM_ASSISTANT 0~15 10 语音助手

2.2 操作类型

adjustStreamVolume()方法所需要的音量操作<类型>参数,可以在AudioManager.java中查看。整理如下:

名称 功能
1 ADJUST_RAISE 增加音量
-1 ADJUST_LOWER 降低音量
0 ADJUST_SAME 显示音量,但不设置
-100 ADJUST_MUTE 静音
100 ADJUST_UNMUTE 取消静音
101 ADJUST_TOGGLE_MUTE 切换静音状态

3. 示例

  1. 铃声编号2,增加音量的类型为1,其命令为:
adb shell service call audio 9 i32 2 i32 1 i32 1
  1. 音频编号3,设置其静音或非静音,其命令为:
adb shell service call audio 9 i32 3 i32 -100 i32 1  #静音
adb shell service call audio 9 i32 3 i32 100 i32 1      #关闭静音
adb shell service call audio 9 i32 3 i32 101 i32 1      #切换静音状态
  1. 语音助手编号11,降低音量的类型为-1,其命令为:
adb shell service call audio 9 i32 11 i32 -1 i32 1
  1. 闹钟编号4,设置其音量为9,其命令为:
adb shell service call audio 10 i32 4 i32 9 i32 1

4. 问题解决

4.1 权限问题

执行adb root

4.2 Android 版本变动

从ASOP中搜索相关代码,依据对应版本的代码,更改命令中的参数。
如 Android 12,IAudioService.aidl相对 Android 11 改动了方法列表,adjustStreamVolume() 和 setStreamVolume() 分别从第 9 位、第 10 位,移动到了第 10位、第11位。

因此,Android 12 中:

adb shell service call audio 10 i32 <编号> i32 <类型> i32 1  # 调整音量
adb shell service call audio 11 i32 <编号> i32 <音量> i32 1 # 设置音量
adb shell service call audio 17 i32 <编号>  # 当前音量
adb shell service call audio 18 i32 <编号>  # 最小音量
adb shell service call audio 19 i32 <编号>  # 最大音量

参考链接:

Android Code Search
ADB Command to set volume?

通过 adb 设置音量相关推荐

  1. adb:获取手机音量并设置音量大小

    adb:获取手机音量并设置音量大小 在自动化测试过程中,有时可能会需要调节Android设备的各类音量的场景时时,可借助adb命令来实现 获取设备音频流信息 adb shell dumpsys aud ...

  2. ADB设置连接android真机

    2019独角兽企业重金招聘Python工程师标准>>> 功能就是先通过数据线连接计算机以及手机,通过adb设置手机的服务监听,然后通过网络连接.闲来就写了这个批处理,装逼之用. @e ...

  3. C++设置音量合成器应用音量

    先说一下大概思路,然后再贴出代码: 首先,获取扬声器音量,根据扬声器音量和需要设置的音量计算一个音量值(例如,扬声器50%,需要设置当前程序音量为50%,所以最终设置音量合成器中的数值为50% * 5 ...

  4. win 10 设置音量快捷键

    win 10 设置音量快捷键 这个不需要第三方软件 只需要改一下注册表就行了 只需要简单的三步,方法如下 F2增加音量,F3减少音量 第一步 创建一个文本,文本内容输入: Windows Regist ...

  5. Android 设置音量的几种方法

    Android 设置音量的几种方法 Android 设置音量的几种方法 方法一.被动设置法 方法二.主动设置法 渐进设置 直接设置 按键设置 Android 设置音量的几种方法 在Android下,音 ...

  6. 在 Delphi 下使用 DirectSound (4): 设置音量、相位、播放频率和播放位置

    通过 IDirectSoundBuffer 的 SetVolume.SetPan.SetFrequency.SetCurrentPosition 方法可以简单进行这些设置. 同时 IDirectSou ...

  7. android通过adb设置以太网共享

    开发环境:android7.1.2 开发板:SC60智能模组+带网口的开发板 一.以太网共享有两个方向的理解: 1.通过以太网给android设备供网,对应设置中的Ethernet选项 2.andro ...

  8. adb设置代理与取消代理

    设置代理 adb shell settings put global http_proxy 代理IP地址:端口号 取消代理 adb shell settings delete global http_ ...

  9. 利用adb设置安卓http代理

    adb shell settings put global http_proxy 192.168.22.187:8888 设置代理. 网上有很多取消代理的方法,但是都必须要重启模拟器.很不方便. 用下 ...

最新文章

  1. pip升级之后出现:/usr/bin/pip: No such file or directory
  2. 洛谷 P1983 车站分级
  3. python 环境常用指令(updating...)
  4. Adjacent Node Sum(邻接表处理)
  5. 帝国CMS二次元COS漫展信息分享网站模板
  6. [zz]KVM 虚拟机故障排除一例
  7. 苹果Siri管理层再震荡,7年老领导出局,谷歌老兵治下要重视长期研究
  8. 读书笔记——第八周学习笔记
  9. 测试压缩ASP.NET中的ViewState
  10. 前端测试之用户体验测试
  11. BugkuCTF(old)----流量分析题目Writeup
  12. App逆向案例 X嘟牛 - Frida监听 WT-JS工具还原(一)
  13. html5 3d自动,html5 3D微信头像自动抽奖代码
  14. 使用python和xlwings合并excel文件
  15. python多子图坐标轴共享
  16. vue学习入门——Idea中安装vue插件
  17. 广东去年处分厅官149人 追回外逃人员237人
  18. 容器云时代,Commvault的变与不变
  19. 量子计算机和超导,量子计算的未来在哪里——超导电路与光子学
  20. android开发还原设计稿,TextView设计稿完美还原思考

热门文章

  1. 快乐共享(By Robinvane Suen)
  2. python之路(1)_重要函数使用
  3. javascript 数据类型与类型转换
  4. 武汉2022专技公需课必修答案
  5. Moir´e Photo Restoration Using Multiresolution Convolutional Neural Networks 摩尔纹领域论文阅读复现
  6. java导出多个excel表格,并压缩成zip输出
  7. Linux系统Word转换PDF,文档字体乱码不显示问题解决。
  8. 苹果13防水吗 苹果13颜色哪个好看
  9. java list 索引值_List中固定某个索引的值-简单替换位置
  10. MySQL数据库监控与调优(2)