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

在自动化测试过程中,有时可能会需要调节Android设备的各类音量的场景时时,可借助adb命令来实现

  • 获取设备音频流信息
adb shell dumpsys audio

 

一、获取当前设备各类音量大小

  • 获取设备的电话音量 - STREAM_VOICE_CALL
  • 获取设备的系统音量 - STREAM_SYSTEM
  • 获取设备的铃音音量 - STREAM_RING
  • 获取设备的音乐音量(多媒体音量 )- STREAM_MUSIC
  • 获取设备的闹钟音量- STREAM_ALARM
adb shell media volume --show --stream 0 --get
adb shell media volume --show --stream 1 --get
adb shell media volume --show --stream 2 --get
adb shell media volume --show --stream 3 --get
adb shell media volume --show --stream 4 --get

"""
[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)后,设备会进入静音模式,之后再修改其他模式音量会失败

In Android 11 and Android 12, media utility no longer exists. That's why you got the error since your shell could not find the utility in locations mentioned in its PATH. That utility's commands have been moved to a service name MediaSessionService. To access those commands invoke this service using cmd command.

adb shell cmd media_session

C:\adb>adb shell cmd media_session  volume  --stream 3 --get
[V] will control stream=3 (STREAM_MUSIC)
[V] will get volume
[V] Connecting to AudioService
[V] volume is 5 in range [0..15]

C:\adb>adb shell cmd media_session  volume --show --stream 3 --set 11
[V] will control stream=3 (STREAM_MUSIC)
[V] will set volume to index=11
[V] Connecting to AudioService
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐