通过 adb 设置音量
通过 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. 示例
- 铃声编号
2
,增加音量的类型为1
,其命令为:
adb shell service call audio 9 i32 2 i32 1 i32 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 #切换静音状态
- 语音助手编号
11
,降低音量的类型为-1
,其命令为:
adb shell service call audio 9 i32 11 i32 -1 i32 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 设置音量相关推荐
- adb:获取手机音量并设置音量大小
adb:获取手机音量并设置音量大小 在自动化测试过程中,有时可能会需要调节Android设备的各类音量的场景时时,可借助adb命令来实现 获取设备音频流信息 adb shell dumpsys aud ...
- ADB设置连接android真机
2019独角兽企业重金招聘Python工程师标准>>> 功能就是先通过数据线连接计算机以及手机,通过adb设置手机的服务监听,然后通过网络连接.闲来就写了这个批处理,装逼之用. @e ...
- C++设置音量合成器应用音量
先说一下大概思路,然后再贴出代码: 首先,获取扬声器音量,根据扬声器音量和需要设置的音量计算一个音量值(例如,扬声器50%,需要设置当前程序音量为50%,所以最终设置音量合成器中的数值为50% * 5 ...
- win 10 设置音量快捷键
win 10 设置音量快捷键 这个不需要第三方软件 只需要改一下注册表就行了 只需要简单的三步,方法如下 F2增加音量,F3减少音量 第一步 创建一个文本,文本内容输入: Windows Regist ...
- Android 设置音量的几种方法
Android 设置音量的几种方法 Android 设置音量的几种方法 方法一.被动设置法 方法二.主动设置法 渐进设置 直接设置 按键设置 Android 设置音量的几种方法 在Android下,音 ...
- 在 Delphi 下使用 DirectSound (4): 设置音量、相位、播放频率和播放位置
通过 IDirectSoundBuffer 的 SetVolume.SetPan.SetFrequency.SetCurrentPosition 方法可以简单进行这些设置. 同时 IDirectSou ...
- android通过adb设置以太网共享
开发环境:android7.1.2 开发板:SC60智能模组+带网口的开发板 一.以太网共享有两个方向的理解: 1.通过以太网给android设备供网,对应设置中的Ethernet选项 2.andro ...
- adb设置代理与取消代理
设置代理 adb shell settings put global http_proxy 代理IP地址:端口号 取消代理 adb shell settings delete global http_ ...
- 利用adb设置安卓http代理
adb shell settings put global http_proxy 192.168.22.187:8888 设置代理. 网上有很多取消代理的方法,但是都必须要重启模拟器.很不方便. 用下 ...
最新文章
- pip升级之后出现:/usr/bin/pip: No such file or directory
- 洛谷 P1983 车站分级
- python 环境常用指令(updating...)
- Adjacent Node Sum(邻接表处理)
- 帝国CMS二次元COS漫展信息分享网站模板
- [zz]KVM 虚拟机故障排除一例
- 苹果Siri管理层再震荡,7年老领导出局,谷歌老兵治下要重视长期研究
- 读书笔记——第八周学习笔记
- 测试压缩ASP.NET中的ViewState
- 前端测试之用户体验测试
- BugkuCTF(old)----流量分析题目Writeup
- App逆向案例 X嘟牛 - Frida监听 WT-JS工具还原(一)
- html5 3d自动,html5 3D微信头像自动抽奖代码
- 使用python和xlwings合并excel文件
- python多子图坐标轴共享
- vue学习入门——Idea中安装vue插件
- 广东去年处分厅官149人 追回外逃人员237人
- 容器云时代,Commvault的变与不变
- 量子计算机和超导,量子计算的未来在哪里——超导电路与光子学
- android开发还原设计稿,TextView设计稿完美还原思考
热门文章
- 快乐共享(By Robinvane Suen)
- python之路(1)_重要函数使用
- javascript 数据类型与类型转换
- 武汉2022专技公需课必修答案
- Moir´e Photo Restoration Using Multiresolution Convolutional Neural Networks 摩尔纹领域论文阅读复现
- java导出多个excel表格,并压缩成zip输出
- Linux系统Word转换PDF,文档字体乱码不显示问题解决。
- 苹果13防水吗 苹果13颜色哪个好看
- java list 索引值_List中固定某个索引的值-简单替换位置
- MySQL数据库监控与调优(2)