adb:获取手机音量并设置音量大小
在自动化测试过程中,有时可能会需要调节Android设备的各类音量的场景时时,可借助adb命令来实现
-
获取设备音频流信息
adb shell dumpsys audio
一、获取当前设备各类音量大小
-
获取设备的电话音量 - STREAM_VOICE_CALL
adb shell media volume --show --stream 0 --get
-
获取设备的系统音量 - STREAM_SYSTEM
adb shell media volume --show --stream 1 --get
-
获取设备的铃音音量 - STREAM_RING
adb shell media volume --show --stream 2 --get
-
获取设备的音乐音量(多媒体音量 )- STREAM_MUSIC
adb shell media volume --show --stream 3 --get
-
获取设备的闹钟音量- STREAM_ALARM
adb shell media volume --show --stream 4 --get
-
打印信息,示例:STREAM_MUSIC
""" [v] will control stream=3 (STREAM_MUSIC) [v] will get volume [v] Connecting to AudioService [v] volume is 0 in range [0..15] """ 即当前STREAM_MUSIC是0,最小0,最大15
二、设置音量
-
示例:设置多媒体音量大小
adb shell media volume --show --stream 3 --set 10 """ 输出: [v] will control stream=3 (STREAM_MUSIC) [v] will set volume to index=10 [v] Connecting to AudioService """ # 注:设置系统音量为0(stream=1)后,设备会进入静音模式,之后再修改其他模式音量会失败
-
Python使用示例
import os import re # 设置手机多媒体音量为 2 os.popen('adb shell media volume --show --stream 3 --set 2') # 获取设备多媒体音量 volume = os.popen('adb shell media volume --show --stream 3 --get').read() print(re.findall(r'.*?volume is (.*?) in range.*?', volume)) # 输出:['2']